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;

   }

   . . .

}

更新于:2020 年 6 月 20 日

469 views

开启你的 事业

通过完成课程获得认证

开始
广告