Skip to content
Author: ytianle

Object Relationships⚓︎

alt text

Association⚓︎

Association is a relationship between two objects. It’s denoted by “has-a” relationship. In this relationship all objects have their own lifecycle and there is no owner. Let’s take an example of Teacher and Student. Multiple students can associate with single teacher and single student can associate with multiple teachers, but there is no ownership between the objects and both have their own lifecycle. Both can create and delete independently.

Aggregation⚓︎

Aggregation is a another type of specialised form of Association where all objects have their own lifecycle, but there is ownership and child objects can not belong to another parent object. Let’s take an example of Department and teacher. A single teacher can not belong to multiple departments, but if we delete the department teacher object will not be destroyed. We can think about it as a “has-a” relationship.

Composition⚓︎

Composition is again specialised form of Aggregation and we can call this as a “death” relationship. It is a strong type of Aggregation. Child object does not have its lifecycle and if parent object is deleted, all child objects will also be deleted. Let’s take again an example of relationship between House and Rooms. House can contain multiple rooms – there is no independent life of room and any room can not belong to two different houses. If we delete the house – room will automatically be deleted. Let’s take another example of relationship between Car and Moter, Moter is a vital part of Car, if you remove moter then Car become useless.

Inheritance⚓︎

Inheritance is an another type of relationship and it’s denoted by “is-a” relationship. Inheritance is the inclusion of behaviour (i.e. methods) and state (i.e. variables) of a base class in a derived. for example- Circle is a shape, Rectangle is a Shape.

Implementation⚓︎

Implementation is a relationship between interface and class. A class implements an interface thereby inheriting the abstract methods of the interface. For example- Dog implements Animal interface.

Reference⚓︎