UML類圖簡介

概述

設計模式中常常使用UML來表示類與類,類與接口之間的關係,UML類圖是設計模式入門必備的技能,感覺各種關係比較多,這裏做一下總結。

類與接口的表示

類與接口通常是一個矩形框表示,一般分爲3層,第一層顯示類的名稱,如果是抽象類則類名用斜體表示。第二層代表類的特性,通常是字段和屬性,第三層是類的操作,通常表現爲方法或者行爲,其中+表示public,-表示private,#表示protect
這裏寫圖片描述

常用關係

  • 繼承
    繼承關係用空心三角形+實線來表示,在java中體現爲extends關鍵字
    這裏寫圖片描述

  • 實現接口
    實現接口用空閒三角形+虛線,在java中體現爲implements關鍵字
    這裏寫圖片描述

  • 聚合關係
    聚合關係表現爲一種弱擁有關係,體現爲A對象可以包含B對象,但是B對象不是A對象的一部分。
    實現用空心菱形+實線;
    在java中可以體現爲,一個類的數組或者通過setter或者getter方式注入到整體對象中

//數組對象形式
public class wideGooseAggregate{
    private WideGoose[] arrayWideGoose;//雁羣類中有大雁的數組對象
}
//注入方式存在
public class Car {  
        private Engine engine;  

        //構造注入  
        public Car(Engine engine) {  
            this.engine = engine;  
        }  

        //設值注入  
    public void setEngine(Engine engine) {  
        this.engine = engine;  
    }  
    ……  
    }  

    public class Engine {  
        ……  
    }  

這裏寫圖片描述

  • 組合關係
    組合關係也表示整體和部分之間的關係,體現出的是一種強擁有關係,即整體可以控制成員對象的生命週期,整體對象一旦不存在成員對象也將不存在。通常體現爲成員對象在整體類構造方法中被new出來。
    用實心菱形+實線表示。
public class Bird{
    private Wing wing;
    public Bird(){
    wing = new Wing();
    }
}

這裏寫圖片描述

  • 依賴關係

依賴關係,顧名思義,產生了依賴就會出現這個類的改變會帶動另一個類的變化,一般體現在某個類的方法使用另一個類的對象作爲參數。
用虛線+箭頭表示。

abstract class Animal{
    public Metabolism(Oxygen oxygen,Water water){
    ……
    }
}

這裏寫圖片描述

  • 關聯關係
    一種結構化關係,用於表示一類對象和另一類對象有聯繫。在Java中通常表現爲一個類的對象作爲一個類的成員變量,即表現在代碼層面,爲被關聯類B以類屬性的形式出現在關聯類A中,也可能是關聯類A引用了一個類型爲被關聯類B的全局變量。
    用實線表示
public class Penguin{
    private Climate climate;
    ……
}

這裏寫圖片描述

參考:
《大話設計模式》
http://blog.csdn.net/lovelion/article/details/7842898

發佈了170 篇原創文章 · 獲贊 143 · 訪問量 41萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章