1. 程式人生 > 其它 >UML類圖繪製規則

UML類圖繪製規則

分類箭頭特徵記憶技巧
箭頭方向 從子類指向父類
  1. 定義子類需要通過 extends 關鍵字指定父類
  2. 子類一定是知道父類定義的,但父類並不知道子類的定義
  3. 只有知道對方資訊時才能指向對方
  4. 箭頭的方向是從子類指向父類
繼承/實現 用線條連線兩個類;
空心三角箭頭表示繼承或實現
實線表示繼承,是is-a的關係,表示擴充套件,不虛,很結實
虛線表示實現,虛線代表“虛”無實體
關聯/依賴 用線條連線兩個類;
普通箭頭表示關聯或依賴
  1. 虛線表示依賴關係:臨時用一下,若即若離,虛無縹緲,若有若無
  2. 表示一種使用關係,一個類需要藉助另一個類來實現功能
  3. 一般一個類將另一個類作為引數使用,或作為返回值
  1. 實線表示關聯關係:關係穩定,實打實的關係,“鐵哥們”
  2. 表示一個類物件和另一個類物件有關聯
  3. 通常一個類中有另一個類物件作為屬性
組合/聚合 用菱形表示:像一個盛東西的器皿(如盤子)
  1. 聚合:空心菱形,代表空器皿裡可以放很多相同的東西,聚集在一起(箭頭方向所指的類)
  2. 整體和區域性的關係,兩者有獨立的生命週期,是 has-a 的關係
  3. 弱關係,消極的詞:弱-空
  1. 組合:實心菱形,代表器皿裡已經有實體結構的存在,生死與共
  2. 整體與區域性的關係,和聚合關係對比,關係更加強烈,兩者具有相同的生命週期,contains-a 的關係
  3. 強關係,積極的詞;強-滿

注意:UML 的標準類關係圖中,沒有實心箭頭。有些 Java 程式設計的 IDE 自帶類生成工具可能出現實心箭頭,主要目的是降低理解難度。

下面用一個經典案例來加深和鞏固對類圖的理解。下圖是對動物衍生關係描述的類圖。這個圖非常有技術含量也非常經典,大家可以好好理解一下。

參考資料:

http://c.biancheng.net/view/8375.html