組合優于聚合
聚合UML模糊,其不精确的暗示了整體-部分的關系(和許多普通關聯一樣)。
可以參考Rumbaugh(UML的建立者之一)的話:
并給賦予太多的,但是每個人(基于不同理由)都認為這是必要的。[RJB04]
是以,不要在UML中費心使用聚合,相反,在适當的時候要使用組合
組合,是一種很強的整體-部分聚合關系
- 某一時刻,部分的執行個體隻屬于一個組成執行個體
- 部分(Fingers)必須總是屬于組成(Hand)(不存在随意遊離的部分Finger)
- 組成要負責建立和删除部分。
如果組成被銷毀,其部分也必須被銷毀,或者依附于其它組成,即不允許遊離的部分存在!
在UML中,帶有實心箭頭的關聯來表示組合,箭頭指向組成類。

組合的典型代碼如下:
public class Hand
{
Finger f = new Finger();
.......
}
作者:glowd
原文:
https://blog.csdn.net/zengqiang1/article/details/52744334版權聲明:本文為部落客原創文章,轉載請附上博文連結!