聚合和組合都屬於關聯,
處於聚合關係的兩個類生命週期不同步,則是聚合關係;
處於組合關係的兩個類的生命週期同步。
關聯可以有方向,可以是單向關聯,也可以是雙向關聯。
關聯在c++中呈現為:
class a
class b
a::function1(b &b)
或a::function1(b b)
或a::function1(b *b)
即乙個類作為另乙個類方法的引數。
在c++語言中,從實現的角度講,聚合可以表示為:
class a
class b
即類b包含類a的指標;
一旦整體物件不存在,部分物件也將不存在。部分物件與整體物件之間具有共生死的關係。
在c++語言中,從實現的角度講,組合可表示為:
class a
class b
即類b包含類a的物件。 關聯 聚合 組合
關聯 聚合 aggregation 以及組合 composition 的區別?涉及到uml中的一些概念 關聯是表示兩個類的一般性聯絡,比如 學生 和 老師 就是一種關聯關係 聚合表示 has a 的關係,是一種相對鬆散的關係,聚合類不需要對被聚合類負責,如下圖所示,用空的菱形表示聚合關係 從實現的角...
UML類關係 依賴 關聯 聚合 組合
1,依賴關係 dependency 單向,表示乙個類依賴於另乙個類的定義,其中乙個類的變化將影響另外乙個類,是一種 use a 關係 如果a依賴於b,則b表現為a的區域性變數,方法引數,靜態方法呼叫等 public class person public class person public cl...
依賴 關聯 聚合 組合
依賴 關聯 聚合 組合 1 依賴 語義 a use b。依賴是區域性變數 形參 靜態方法 返回引數 生命週期中物件依賴關係 當f方法被呼叫時,a與b產生依賴關係,當呼叫結束,依賴關係結束 class a a 虛線箭頭指向 b 2 關聯 class soldier 語義 a has b 士兵可以有槍,...