UML 類圖中六大關係按強弱程度排序:
組合 > 聚合 > 關聯 > 依賴 繼承/實現屬於縱向關係,上述四者為橫向引用關係
定義:子類繼承父類功能並可擴展新功能。Java 關鍵字 extends。
關係:is-a(類與類、接口與接口)

定義:類實現接口契約。Java 關鍵字 implements。
關係:is-a(類與接口)

定義:類 A 臨時使用類 B,關係偶然、臨時、極弱。B 變化影響 A。
代碼表現:B 作為方法參數、局部變量、靜態方法調用。
例子:過河借船,人與船是依賴關係。

定義:語義級強依賴,長期、平等、可單向/雙向。
代碼表現:B 作為 A 的成員屬性(字段),或 A 引用全局 B 類型變量。
例子:我和我的朋友。

定義:關聯的特例,整體-部分、has-a,**可分離**,各自獨立生命週期,部分可共享。
代碼表現:與關聯一致,僅語義區分**。
例子:電腦與 CPU、公司與員工。

定義:強聚合,contains-a,**不可分離**,整體生命週期結束意味著部分結束。
代碼表現:與關聯一致,**僅語義區分**。
例子:你和你的大腦。

| 關係 | 強度 | 生命週期 | 共享性 | 代碼判斷 |
|---|---|---|---|---|
| 依賴 | 最弱 | 臨時 | 無 | 方法參數/局部變量 |
| 關聯 | 中等 | 長期 | 可共享 | 成員字段 |
| 聚合 | 較強 | 獨立 | 可共享 | 成員字段 + 語義 has-a |
| 組合 | 最強 | 綁定 | 不可共享 | 成員字段 + 語義 contains-a |