UML 類圖是面向對象設計的通用建模語言。本文以《大話設計模式》經典範例為基礎,系統講解類/接口圖元符號、六類核心關係(繼承、關聯、聚合、組合、依賴、實現)、多重性標記、棒棒糖表示法,助你精準表達領域模型。

| 層級 | 內容 | 符號約定 |
|---|---|---|
| 第一層 | 類名 | 抽象類用斜體;<<interface>> 標記接口 |
| 第二層 | 屬性/字段 | 可見性 名稱: 類型 [多重性] = 默認值 |
| 第三層 | 方法/操作 | 可見性 名稱(參數列表): 返回類型 |
可見性符號:+ public | - private | # protected | ~ package
<<interface>>,方法為斜體(抽象)
例:唐老鴨實現「講人話」接口 → 棒棒糖連接唐老鴨類
| 關係 | UML 符號 | 語義強度 | 代碼映射 | 經典例子 |
|---|---|---|---|---|
| 繼承 | 空心三角形 + 實線 | 最強 (is-a) | class Child extends Parent | 動物 → 鳥 → 鴨 → 唐老鴨 |
| 實現 | 空心三角形 + 虛線 | 強 (is-a) | class Impl implements Interface | 大雁實現飛翔、唐老鴨實現講人話 |
| 關聯 | 實線箭頭 | 中 (knows-a) | 成員變量引用 | 企鵝「知道」氣候變化 |
| 聚合 | 空心菱形 + 實線 | 中弱 (has-a) | 集合/數組成員,生命週期獨立 | 公司 ↔ 員工、雁群 ↔ 大雁 |
| 組合 | 實心菱形 + 實線 | 強 (contains-a) | 成員變量,生命週期綁定 | 公司 ↔ 部門、鳥 ↔ 翅膀、訂單 ↔ 訂單項 |
| 依賴 | 虛線箭頭 | 最弱 (uses-a) | 方法參數/局部變量/靜態方法調用 | 工具類、臨時計算 |
繼承:
關聯:
聚合:
組合:
依賴:
實現:
在關聯/聚合/組合線端標註:
| 符號 | 含義 |
|---|---|
| 1 | 恰好一個 |
| 0..1 | 零個或一個 |
| * 或 0..* | 零個到多個 |
| 1..* | 一個到多個 |
| n..m | n 到 m 個 |
例:一隻鳥 2 只翅膀(組合端標 2),一個雁群 1..* 只大雁(聚合端標 1..*)
「模型不是文檔,是思考工具。」精準的類圖能暴露設計缺陷,指導重構方向。