Content deleted Content added
m Date maintenance tags and general fixes: build 439: |
tag as one source |
||
(35 intermediate revisions by 23 users not shown) | |||
Line 1:
{{one source |date=March 2024}}
In [[object-oriented programming]], '''association''' defines a relationship between classes of objects
[[Image:
In generic terms, the [[Causality|causation]] is usually called "sending a
▲[[Image:UnidirectionalAssociation.png|thumb|225px|Unless otherwise specified, navigation across 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.]]
The objects that are related via the association are considered to act in a [[role (
▲In generic terms the [[Causality|causation]] is usually called "sending a [[message]]", "invoking a [[Method (computer science)|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 ends of the association can have all the characteristics of a property:
▲The objects that are related via the association are considered to act in a [[role (object-oriented programming)|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.<ref>{{cite book | title=Object-oriented modeling and design | last=Rumbaugh | first=JR et al. | year=1991 | publisher=Prentice Hall | isbn=0-13-630054-5}}</ref>
* 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==
* [[Object composition#Aggregation|Aggregation]]
* [[Object composition]]
==References==
{{Reflist}}
[[Category:Object-oriented programming]]
{{compu-prog-stub}}
|