Você está na página 1de 4

OO Relationships - Association,

Aggregation & Composition


[Note: Below material has been quoted from http://cs.joensuu.fi/pages/koles/oop/OOP_Development.ppt]

In Object Oriented world, if one class has to communicate with any other class (or classes), it has to
communicate by using one of the Object Oriented Relationships.

There are three (3) OO Relationships,

 Inheritance or Generalization
 Aggregation
o Weak
o Strong (Also called as Composition or Containment)
 Association

Association
Association represents a general binary relationship that describes an activity between two classes.

An association is illustrated using a solid line between the two classes with an optional label that
describes the relationship.

Association may have navigability, i.e. direction of the relation. Each class involved in the relationship
may have a role name played by the class in the relationship.

Examples
 A student taking a course is an association between the Student class and the Course class.
 A faculty member teaching a course is an association between the Faculty class and the Course
class.

Figure: Class Diagram for Examples above

Dept. of CS & IT, Superior University


1
Self Association
Association may exist between objects of the same class. For example, a person may have supervisor.

Figure: Self Association

Dept. of CS & IT, Superior University


2
Aggregation
Aggregation is a special form of association.

Weak Aggregation
Weak Aggregation represents an ownership relationship between two classes. Aggregation models the
relationship like has-a.

Example
 Customer has bank account.
 Room has chairs.

Figure: Weak Aggregation

Dept. of CS & IT, Superior University


3
Strong Aggregation (Also called as Composition/Containment)
Composition is a stronger form of aggregation. In a composite object the components exists only as part
of the composite.

Rules of Thumb
 The whole and parts have coincident lifetimes.
 Both classes represent physical items.

Examples
 An engine is a part a car.
 A package is a part of a shipment.
 Employee is a part of a team.

Figure: Strong Aggregation

Dept. of CS & IT, Superior University


4

Você também pode gostar