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