UML的六種關係

2022-07-21 07:21:13 字數 1597 閱讀 4770

uml定義的關係主要有:泛化、實現、依賴、關聯、聚合、組合,這六種關係緊密程度依次加強,分別看一下

概念:泛化是一種一般與特殊一般與具體之間關係的描述,具體描述建立在一般描述的基礎之上,並對其進行了擴充套件。在程式中是通過繼承類實現的。比如狗是對動物的具體描述,在物件導向設計的時候一般把狗設計為動物的子類。

表示方法:空心三角形箭頭的實線,子類指向父類

概念:實現是一種類與介面的關係,表示類是介面所有特徵和行為的實現,在程式中一般通過類實現介面來描述

表示方法:空心三角形箭頭的虛線,實現類指向介面

概念:是一種使用的關係,即乙個類的實現需要另乙個類的協助,所以要盡量不使用雙向的互相依賴,在程式中一般表現為類a中的方法需要類b的例項作為其引數或者變數,而類a本身並不需要引用類b的例項作為其成員變數。

表示方法:虛線箭頭,類a指向類b。

概念:表示類與類之間的聯接,它使乙個類知道另乙個類的屬性和方法,這種關係比依賴更強、不存在依賴關係的偶然性、關係也不是臨時性的,一般是長期性的,在程式中被關聯類b以類屬性的形式出現在關聯類a中,也可能是關聯類a引用了乙個型別為被關聯類b的全域性變數

表示方法:實線箭頭,類a指向類b

概念:聚合關聯關係的一種特例,是強的關聯關係。聚合是整體和個體之間的關係,即has-a的關係,整體與個體可以具有各自的生命週期,部分可以屬於多個整體物件,也可以為多個整體物件共享。程式中聚合和關聯關係是一致的,只能從語義級別來區分;

表示方法:尾部為空心菱形的實線箭頭(也可以沒箭頭),類a指向類b

概念:組合也是關聯關係的一種特例。組合是一種整體與部分的關係,即contains-a的關係,比聚合更強。部分與整體的生命週期一致,整體的生命週期結束也就意味著部分的生命週期結束,組合關係不能共享。程式中組合和關聯關係是一致的,只能從語義級別來區分。

表示方法:尾部為實心菱形的實現箭頭(也可以沒箭頭),類a指向類b

UML六種關係

大話設計模式的學習已經進行了好長的一段時間,通過學習設計模式,發現類圖非常重要,當然類圖的關係依然重要,那麼接下來就再來學習一下類圖的關係。首先就從我覺得見的最多的來分享吧,第乙個就是泛化。特點 三角箭頭 實線 箭頭指的方向為父類 特點 三角箭頭 虛線 箭頭指向介面 是一種使用關係,即乙個類的實線需...

UML六種關係

概念 泛化是一種一般與特殊 一般與具體之間關係的描述,具體描述建立在一般描述的基礎之上,並對其進行了擴充套件。在程式中是通過繼承類實現的。比如狗是對動物的具體描述,在物件導向設計的時候一般把狗設計為動物的子類。表示方法 空心三角形箭頭的實線,子類指向父類 實現概念 實現是一種類與介面的關係,表示類是...

UML中的六種關係的比較與學習

通過不斷的學習並繪製uml圖,整個畫圖的過程中深刻體會到其核心部分還是理解事物之間的關係,總結六大關係來深入學習,主要關係有六種 繼承 實現 依賴 關聯 聚合 組合。區別於聯絡 1.繼承 泛華 關係 generalization 繼承關係是乙個類 稱為子類 子介面 繼承另外的乙個類 稱為父類 父介面...