1. 程式人生 > >UML常見類圖關係

UML常見類圖關係

享受達到目標的這個過程,會讓自己變輕鬆!

1、UML類圖關係

1.1、泛化

【泛化】表示是一般與特殊的關係,是is a 的關係,表示的是一種繼承關係。
【比如】狗和動物,狗屬於動物,狗和動物是一種繼承關係,是泛化關係
【程式碼】java中 A extends B,A和B就是泛化關係
【UML畫法示例】(帶三角箭頭的實線,箭頭指向父類)
這裡寫圖片描述

1.2、實現

【實現】是一種類與介面的關係,表示類是介面特徵和行為的實現
【比如】通常我們編寫程式碼的時候都會先寫一個介面,然後實現類去實現介面。實現類和介面之間是一種實現關係。
【程式碼】java中 A implement B ,A和B是泛化關係
【UML畫法示例】(帶三角箭頭的虛線,箭頭指向介面)
這裡寫圖片描述

1.3、關聯

【關聯】它描述了不同類的物件之間的結構關係,使一個類知道另一個類的屬性和行為。關聯關係有單向關聯、雙向關聯、自關聯。
【比如】老師和學生,老師知道班裡的學生資訊,學生不知道老師資訊,老師和學生是一種單向關聯關係;老師知道學生資訊,學生也知道老師的資訊,老師和學生是雙向關聯關係;老師知道同行老師的資訊,老師和老師是自關聯關係。
【程式碼】成員變數;類A持有類B的引用作為成員變數,類A和B就是關聯關係,箭頭指向B
【UML畫法示例】
這裡寫圖片描述

1.4、聚合

【聚合】聚合是一種特殊的關聯關係,是一個整體和部分的關係,部分可以離開整體而單獨存在。聚合是一種語義關係,需要分析邏輯關係。
【比如】一個部門和人員的關係,部門不存在了,人員照樣可以單獨存在。部門和人員在語義上就是聚合關係
【程式碼】成員變數;比如部門類(Department)持有人員類(Person)作為成員變數,部門類和人員類是聚合關係
【UML畫法示例】(空心菱形指向整體)
這裡寫圖片描述

1.5、組合

【組合】組合是一種特殊的關聯關係,是一個整體和部分的關係,但是部分不能離開整體單獨存在。組合和聚合一樣,也是一種語義關係,需要分析邏輯關係
【比如】公司和部門的關係,公司都不存在了,部門自然也不存在了。所以公司和部門就是一個組合關係
【程式碼】成員變數;公司類(Company)持有部門類(Department)作為成員變數,公司類和部門類是組合關係
【UML畫法示例】(實心菱形指向整體)
這裡寫圖片描述

1.6、依賴

【依賴】一個類A使用到了另一個類B,而這種使用關係是具有偶然性、臨時性、非常弱的,但是B類的變化會影響到A,是一種使用關係
【程式碼】區域性變數、方法的引數
【UML畫法示例】(一條虛線,箭頭執行被依賴的類)
這裡寫圖片描述

2、UML類圖總結

  • 聚合和組合是特殊的關聯關係
  • 關係強弱順序:泛化=實現>組合>聚合>關聯>依賴

3、UML類圖繪製工具

3.1、ProcessOn

非常強大的線上工具,可以畫流程圖、UML、原型圖等,完全免費。
這裡寫圖片描述

3.2、StarUML

UML繪製的客戶端軟體,Mac、Windows、Linux都有,可一直免費試用。
這裡寫圖片描述