平常閱讀一些原始碼或者是設計應用架構時候,類關系錯綜復雜,這篇文章主要記錄UML類圖表示以及類關系呈現筆記,
文章目錄
- UML類途中常見的幾種關系:
- 如何繪制UML
- 類的表示
- 類的關系表示方式
- 泛化關系
- 實作關系
- 關聯關系
- 聚合關系
- 組合關系
- 依賴關系
- 總結
UML類途中常見的幾種關系:
-
泛化(Generalization):繼承關系,extend
-
實作(Realization):實作介面,類與介面的關系,implements
-
關聯(Association):擁有的關系,單項關聯(單項箭頭 ),雙向關聯(無箭頭),自身關聯
-
聚合(Aggregation):整體與部分,比如:人-手,腳的關系
-
組合(Composition):整體與部分,是關聯關系的一種,比聚合關系還要強的關系,如:建構式中初始化的成員變數
-
依賴(Dependency):是一種使用關系,盡量不要雙向依賴,如:區域變數,方法的引數
如何繪制UML
類的表示
在UML類圖中,類包含:類名,屬性(field)和方法(method)且帶有分割線的矩形來表示,如:

屬性前面的符號說明:
- +: 表示public
- -: 表示private
- #: 表示protected(friendly)
類的關系表示方式
泛化關系
理解:繼承關系
表示:繼承關系表示父類和子類間的關系,它的符號(空心三角形 + 實線)

實作關系
理解:實作介面關系
表示:介面關系表示類和介面之間的關系,它的符號(空心三角形 + 虛線)

關聯關系
理解:關聯關系是一種擁有關系
表示:成員變數,可以是單向,雙向,也可以說自我關聯,符號是:帶普通箭頭的實心線,指向被擁有者,如果是雙向關聯就是沒有箭頭

聚合關系
理解:字面意思理解就是整體與部分的意思,比如人和手、腳的關系,
聚合關系是關聯關系的一種,是強的關聯關系;關聯和聚合在語法上無法區分,必須考慮奇具體的邏輯關系
表示:成員變數,帶空心菱形的實心線,菱形指向整體

組合關系
理解:組合關系也是單向關聯關系一種,和聚合關系類似,一般是整體擁有個體物件,
表示:它的符號(實心菱形 + 實線)

依賴關系
理解:字面意思就是依賴關系,比如人依賴汽車:
表示:符號為虛線箭頭,箭頭指向為被依賴方(被使用者)

總結
首先,我們需要了解的是各種關系的強弱程度:
泛化 = 實作 > 組合 > 聚合 > 關聯 > 依賴
一張圖了解各種關系的表現形式:

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/328096.html
標籤:其他
