Composition vs Aggregation in C#


Composition

Under Composition, if the parent object is deleted, then the child object also loses its status. Composition is a special type of Aggregation and gives a part-of relationship.

For example, A Car has an engine. If the car is destroyed, the engine is destroyed as well.

public class Engine {
   . . .
}
public class Car {
   Engine eng = new Engine();
   .......
}

Aggregation

Aggregation is a directional relation between objects in C#. It is the relationship between objects.

For example, Employee and Address

An Employee is associated with a single Department, whereas a Department can have more than one employee. Let us see an example of Employee and Address.

Example

public class Address {
   . . .
}
public class Employee {
   private Address addr;
   public Employee (Address addr) {
      this.addr = addr;
   }
   . . .
}

Updated on: 23-Jun-2020

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements