1.例項化(依賴)
a將b作為區域性變數進行使用.
程式1void a::foo()
2.關聯
a與b存在一定的關係. 這裡只考慮單向導航. 關聯在**中有多種表現形式.
第一種, 作為引數:
程式2void a::foo(b& b) // (b* b) or (b b)
第二種, 作為成員變數:
程式3class a
void foo()
private:
b* b_;
};3.聚合
聚合是一種特殊的關聯, 聚合更明確指出聚合的主體具有整體-部分關係. **的表現形式見程式3.
4.組合
組合是一種特殊的聚合, 組合中的某個主體控制著另外乙個主體的生命週期,而且他們還存在整體-部分關係.
程式4class a
~a()
void foo()
private:
b* b_;
};一直以來總覺得omt的類關係更合理一些; 仔細琢磨之後, 發現uml的類關係相對來說更精確一些.
UML 四種關係
在畫類圖之前,首先要理清uml中的四種關係,常見的有以下四種關係 泛化 generalization 實現 realization 關聯 association 依賴 dependency 而在關聯中又包括 聚合 aggregation 組合 composition 在這幾種關係中他們又有剪不斷的聯...
類與類之間的四種關係
1 聚合aggregation 例如電腦由cpu 記憶體 硬碟組成 public class computer public ram ram public keyboard keyboard 又或者人群由人構成 public class clowd 2 關聯association 最常見的關係之一,...
UML類的關係
常見的關係有 一般化關係 generalization 關聯關係 association 聚合關係 aggregation 合成關係 composition 依賴關係 dependency 其中,聚合關係 aggregation 合成關係 composition 屬於關聯關係 association...