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; } . . . }
广告