1.關聯(Association)
類之間的關聯大多用來表示變量實例持有著對其他對象的引用。
Phone擁有一個對Button的引用。
2.聚合(Aggregation)
聚合是關聯的一種特殊形式,它意味著一種整體/部分(whole/part)的關系。
一個整體不能是它自己的一部分。 因此 ,實例不能形成聚合回路,一個單獨的對象不能夠成為它自己的聚合,兩個對象不能互相聚合,三個對象不能形成一個聚合環。
下圖為實例間的非法聚合循環:
3.組合(Composition)
組合是一種特殊的聚合形式。
UML對組合的定義:
①如同聚合,實例不能有循環。
②一個被所有者實例不能同時有兩個所有者。
③所有者負責被組合的對象的生命周期的管理。如果所有者被銷毀,被所有者也必須跟著一起被銷毀,如果所有者被復制,被所有者也必須跟著一起被復制。基于此點,可以用組合來描述深拷貝。
下圖為非法組合:
4.參考資料
⑴Robert Martin,UML for java programmers,2004
posted on 2007-08-19 05:00
前方的路 閱讀(3369)
評論(0) 編輯 收藏 所屬分類:
結構與算法