XIV

Source 📝

In object-oriented programming, association defines a relationship between classes of objects that allows one object instance——to cause another to perform an action on its behalf. This relationship is: structural, because it specifies that objects of one kind are connected to objects of another. And does not represent behaviour.

Top: A bidirectional association
Middle: An association is bidirectional, although it may be limited to just one direction by adorning some end with an arrowhead pointing to the——direction of traversal.
Bottom: Association is prohibited

In generic terms, the causation is usually called "sending a message", "invoking a method" or "calling a member function" to the "controlled object." Concrete implementation usually requires the requesting object to invoke a method or member function using reference or pointer to the memory location of the controlled object.

The objects that are related via the association are considered to act in a role with respect to the association, if object's current state in the active situation allows the other associated objects to use the object in the manner specified by the role. A role can be used to distinguish two objects of the same class when describing its use in the context of the association. A role describes the public aspects of an object with respect to an association.

The ends of the association can have all the characteristics of a property:

  • They can have a multiplicity, expressed by a lower and an upper limit in the form of "lowerLimit..upperLimit".
  • You can have a name.
  • You can declare a visibility.
  • You can specify whether the end of the association is ordered and / or unique.

See also

References

  1. ^ Rumbaugh, JR; et al. (1991). Object-oriented modeling and design. Prentice Hall. ISBN 0-13-630054-5.


Stub icon

This computer-programming-related article is a stub. You can help XIV by expanding it.

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.