HOME

TheInfoList



OR:

In
object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
, 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. 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 A reference is a relationship between objects in which one object designates, or acts as a means by which to connect to or link to, another object. The first object in this relation is said to ''refer to'' the second object. It is called a ''nam ...
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 A role (also rĂ´le or social role) is a set of connected behaviors, rights, obligations, beliefs, and norms as conceptualized by people in a social situation. It is an expected or free or continuously changing behavior and may have a given indi ...
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

* Aggregation * Object composition


References

Object-oriented programming {{compu-prog-stub