组合

<aside> 💡

组合(Composition):表示has-a,一种强的“拥有”关系

体现了严格的部分-整体关系,部分和整体的生命周期一样(部分不能独立于整体存在)

通常由组件来实现本体的一些功能(“翅膀”帮“鸟”实现“飞行”的功能)

</aside>

组合关系用 实心的菱形+实线箭头 来表示

image.png

组合关系下的构造和析构

image.png

委托

<aside> 💡

委托(Delegation):表示has-a关系,使用引用进行组合(Composition by reference

· 委托关系中,部分与整体的生命周期不一致

· 整体将其功能委托给部分实现(Handle / Body)

</aside>

继承

<aside> 💡

继承(Inheritance):表示is-a的关系

</aside>

继承关系用 空心三角形+实线 来表示

image.png

继承关系下的构造和析构

image.png