面向对象分析与设计
上QQ阅读APP看书,第一时间看更新

2.4.3 组合与聚合(Composition and Aggregation)

在关联关系中,如果在两个关联对象之间还具有整体与部分之间的关系时,即一个对象是另一个对象的组成部分时,则称这种关系为聚合(Aggregation)关系。再进一步,如果整体对象与部分对象还具有相同的生存期,则把这个聚合关系称为组合(Composition)关系。

例如,图2-14给出了对象之间的组合和聚合关系的例子。图中带有实心的菱形块的直线表示组合,带有空心的菱形块的直线表示聚合。菱形块一端指向的是整体,另一端指向的是部分。

聚合一般代表逻辑上的包含,当然包括物理上的包含,而组合则代表了物理意义上的包含。如图2-14a表示了飞机与机身、机翼和起落架等各种对象之间的组合关系。而图2-14b表示了股票持有人与其持有的股票之间的关系则是一种聚合关系。

图2-14 对象之间的组合与聚合

a)组合关系 b)聚合关系