Jump to content

Association (object-oriented programming)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Monkbot (talk | contribs) at 03:03, 29 April 2015 (Task 7: replace et al. in author/editor parameters with |display-authors=etal or |display-editors=etal;). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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.

File:BidirectionalAssociation.png
A bidirectional association
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.

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]

See also

References

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