[代码示例]
class Wheel{}
class Car{
private Wheel[] wheels;
public Wheel[] Wheels{
get{return wheels};
set{wheels=value;}
}
public void run{
foreach(Wheel wheel in Wheels){
wheel.rotate();
}
}
}
[说明]
a. 现实中的订单与订单明细, 客户和订单,公司和员工等等都具有关联关系;
b. 以下的聚合和合成关系首先也是 关联关系,但是关系密切程度更强。
[代码示例]
类似于关联。
[说明]
a. 对于具有合成关系(也就是强聚集关系)的两个对象,整体对象会制约它的组成对象的生命周期。部分类的对象不能单独存在,它的生命周期依赖于整体类的对象的生命周期,当整体消失,部分也就随之消失。比如订单与订单明细项,订单明细项是不能脱离订单而单独存在的;同样一个订单的消除,也就意味着所有相关的订单明细项也会消除。
b. 我们不能确定一个关系是不是合成关系,可以将其先设置为聚合关系,甚至是关联关系。