日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UML六种关系

發布時間:2023/12/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UML六种关系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Created by Wang, Jerry on Nov 29, 2014

泛化

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

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

實現
概念:實現是一種類與接口的關系,表示類是接口所有特征和行為的實現,在程序中一般通過類實現接口來描述

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

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

表示方法:虛線箭頭,類A指向類B。

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

表示方法:實線箭頭,類A指向類B

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

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

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

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

Updated by Jerry - 2018-02-10 7:33PM

source link: http://www.open-open.com/lib/view/open1328059700311.html
泛化(Generalization)
【泛化關系】:是一種繼承關系,表示一般與特殊的關系,它指定了子類如何特化父類的所有特征和行為。例如:老虎是動物的一種,即有老虎的特性也有動物的共性。
【箭頭指向】:帶三角箭頭的實線,箭頭指向父類


2. 實現(Realization)
【實現關系】:是一種類與接口的關系,表示類是接口所有特征和行為的實現.
【箭頭指向】:帶三角箭頭的虛線,箭頭指向接口

3. 關聯(Association)
【關聯關系】:是一種擁有的關系,它使一個類知道另一個類的屬性和方法;如:老師與學生,丈夫與妻子關聯可以是雙向的,也可以是單向的。雙向的關聯可以有兩個箭頭或者沒有箭頭,單向的關聯有一個箭頭。
【代碼體現】:成員變量
【箭頭及指向】:帶普通箭頭的實心線,指向被擁有者

4. 聚合(Aggregation)
【聚合關系】:是整體與部分的關系,且部分可以離開整體而單獨存在。如車和輪胎是整體和部分的關系,輪胎離開車仍然可以存在。
聚合關系是關聯關系的一種,是強的關聯關系;關聯和聚合在語法上無法區分,必須考察具體的邏輯關系。
【代碼體現】:成員變量
【箭頭及指向】:帶空心菱形的實心線,菱形指向整體

5. 組合(Composition)
【組合關系】:是整體與部分的關系,但部分不能離開整體而單獨存在。如公司和部門是整體和部分的關系,沒有公司就不存在部門。
組合關系是關聯關系的一種,是比聚合關系還要強的關系,它要求普通的聚合關系中代表整體的對象負責代表部分的對象的生命周期。
【代碼體現】:成員變量
【箭頭及指向】:帶實心菱形的實線,菱形指向整體

總結

以上是生活随笔為你收集整理的UML六种关系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。