C++设计模式
上QQ阅读APP看书,第一时间看更新

1.2.3 不可分离组合关系

不可分离组合关系可以用整体和部分之间的关系来解释,部分是不能脱离整体单独存在的。部分对象与整体对象是不可分离的,一旦整体对象析构,部分对象就会随之消失,它们属于同一个生命周期。不可分离组合关系在UML类图中用“实线+实心菱形”表示,其中实心菱形指向整体。

例如,一个人的身体包含脚部、手部和头部等,各个部分实现各自的功能,但各个部分又不能脱离身体而单独存在,用UML类图表示的身体类、脚部类、头部类、手部类的关系如图1-4所示。

▲图1-4 不可分离组合关系

图1-4说明了不可分离组合关系的UML类图的组成,整体身体类Body由私有成员变量头部类对象Head、脚部类对象Feet、手部类对象Hand和私有成员方法ComBody()组成;脚部类Feet实现走路方法Onfoot(),头部类Head实现吃饭方法Eat()和观察世界方法See(),手部类Hand实现操作方法OnHand()。各个部分对象不能独立于整体对象存在,部分与整体是一种不可分离的组合关系。

注:类对象是类的实例。