C#中的合成与聚合

组成

在“组合”下,如果删除了父对象,则子对象也将失去其状态。组合是聚合的一种特殊类型,具有部分关系。

例如,一辆汽车有一个引擎。如果汽车被破坏,发动机也将被破坏。

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

聚合

聚合是C#中对象之间的定向关系。它是对象之间的关系。

例如,员工和地址

一名雇员与一个部门关联,而一个部门可以有多个雇员。让我们看一个雇员和地址的例子。

示例

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