Association (object-oriented programming)
In object-oriented programming, association defines a relationship between classes of objects which allows one object instance to cause another to perform an action on its behalf. This relationship is structural[clarification needed], because it specifies that objects of one kind are connected to objects of another.

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 a 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.[1]
References
- ^ Rumbaugh, JR; et al. (1991). Object-oriented modeling and design. Prentice Hall. ISBN 0-13-630054-5.
{{cite book}}
: Explicit use of et al. in:|first=
(help)