偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

UML類圖關(guān)系中關(guān)聯(lián)、依賴、聚集等關(guān)系的異同

開發(fā) 架構(gòu)
UML類圖關(guān)系有多種,每種關(guān)系都有各自的特點,它們相互之間也有一定的聯(lián)系,這里向大家介紹一下UML類圖關(guān)系中關(guān)聯(lián)、依賴、聚集等關(guān)系的異同。

本文和大家重點討論一下UML類圖關(guān)系中幾種關(guān)系的異同,在UML類圖關(guān)系中,關(guān)聯(lián),依賴,聚集,組成的聯(lián)系十分緊密,不容易區(qū)分,本文試圖用通俗的語言來講解這四種關(guān)系的區(qū)別。

UML類圖關(guān)系中關(guān)聯(lián)、依賴、聚集等關(guān)系的異同

--------------------------------------------------------------------------------

1.關(guān)聯(lián):連接模型元素及鏈接實例,用一條實線來表示;
2.依賴:表示一個元素以某種方式依賴于另一個元素,用一條虛線加箭頭來表示;
3.聚集:表示整體與部分的關(guān)系,用一條實線加空心菱形來表示;
4.組成:表示整體與部分的有一關(guān)系,用一條實線加實心菱形來表示;
(關(guān)聯(lián),依賴,聚集,組成的異同見后描述)
5.泛化(繼承):表示一般與特殊的關(guān)系,用一條實線加空心箭頭來表示;
6.實現(xiàn):表示類與接口的關(guān)系,用一條虛線加空心箭頭來表示;

關(guān)聯(lián),依賴,聚集的異同:(《Java面向?qū)ο缶幊獭芬粫?,作者:孫衛(wèi)琴來源:[url]www.javathinker.org[/url])
在建立對象模型時,很容易把依賴、關(guān)聯(lián)和聚集關(guān)系混淆。當(dāng)對象A和對象B之間存在依賴、關(guān)聯(lián)或聚集關(guān)系時,對象A都有可能調(diào)用對象B的方法,這是三種關(guān)系之間的相同之處,除此之外,它們有著不同的特征。

1.UML類圖關(guān)系中依賴關(guān)系的特征

對于兩個相對獨立的系統(tǒng),當(dāng)一個系統(tǒng)負責(zé)構(gòu)造另一個系統(tǒng)的實例,或者依賴另一個系統(tǒng)的服務(wù)時,這兩個系統(tǒng)之間主要體現(xiàn)為依賴關(guān)系,例如生產(chǎn)零件的機器和零件,機器負責(zé)構(gòu)造零件對象。再例如充電電池和充電器,充電電池通過充電器來充電。再例如自行車Bicycle和打氣筒Pump,自行車通過打氣筒來充氣。圖1-39為Bicycle類與Pump類的類框圖。

 

圖1-39Bicycle類與Pump類的依賴關(guān)系

2.UML類圖關(guān)系中關(guān)聯(lián)關(guān)系的特征

對于兩個相對獨立的系統(tǒng),當(dāng)一個系統(tǒng)的實例與另一個系統(tǒng)的一些特定實例存在固定的對應(yīng)關(guān)系時,這兩個系統(tǒng)之間為關(guān)聯(lián)關(guān)系。例如客戶和訂單,每個訂單對應(yīng)特定的客戶,每個客戶對應(yīng)一些特定的訂單;再例如公司和員工,每個公司對應(yīng)一些特定的員工,每個員工對應(yīng)一特定的公司;再例如自行車和主人,每輛自行車屬于特定的主人,每個主人有特定的自行車,圖1-40顯示了主人和自行車的關(guān)聯(lián)關(guān)系。而充電電池和充電器之間就不存在固定的對應(yīng)關(guān)系,同樣自行車和打氣筒之間也不存在固定的對應(yīng)關(guān)系。

 

圖1-40主人和自行車的關(guān)聯(lián)關(guān)系


3.UML類圖關(guān)系中聚集關(guān)系的特征

當(dāng)系統(tǒng)A被加入到系統(tǒng)B中,成為系統(tǒng)B的組成部分時,系統(tǒng)B和系統(tǒng)A之間為聚集關(guān)系。例如自行車和它的響鈴、龍頭、輪胎、鋼圈以及剎車裝置就是聚集關(guān)系,因為響鈴是自行車的組成部分。而人和自行車不是聚集關(guān)系,因為人不是由自行車組成的,如果一定要研究人的組成,那么他應(yīng)該由頭、軀干和四肢等組成。由此可見,可以根據(jù)語義來區(qū)分關(guān)聯(lián)關(guān)系和聚集關(guān)系。
聚集關(guān)系和關(guān)聯(lián)關(guān)系的區(qū)別還表現(xiàn)在以下方面:

(1)對于具有關(guān)聯(lián)關(guān)系的兩個對象,多數(shù)情況下,兩者有獨立的生命周期。比如自行車和他的主人,當(dāng)自行車不存在了,它的主人依然存在;反之亦然。但在個別情況下,一方會制約另一方的生命周期。比如客戶和訂單,當(dāng)客戶不存在,它的訂單也就失去存在的意義。

(2)對于具有聚集關(guān)系(尤其是強聚集關(guān)系)的兩個對象,整體對象會制約它的組成對象的生命周期。部分類的對象不能單獨存在,它的生命周期依賴于整體類的對象的生命周期,當(dāng)整體消失,部分也就隨之消失。比如小王的自行車被偷了,那么自行車的所有組件也不存在了,除非小王事先碰巧把一些可拆卸的組件(比如車鈴和坐墊)拆了下來。
不過,在用程序代碼來表示關(guān)聯(lián)關(guān)系和聚集關(guān)系時,兩者比較相似。

4.UML類圖關(guān)系中組成關(guān)系的特征

組成關(guān)系是一種兩個類之間的關(guān)系,其中整體類由部分類組成,部分類需要整體類才能存在,這種關(guān)系意味著銷毀整體類將會同時銷毀部分類

【編輯推薦】

  1. UML類圖關(guān)系中關(guān)聯(lián) 聚合 依賴關(guān)系及其區(qū)別
  2. 全面認識UML類圖關(guān)系
  3. UML類圖關(guān)系大全
  4. 深入剖析UML類圖關(guān)系
  5. 專家指導(dǎo) UML類圖關(guān)系表示方法

 

責(zé)任編輯:佚名 來源: 51cto.com
相關(guān)推薦

2010-06-12 15:21:19

UML關(guān)聯(lián)

2010-06-13 09:42:05

UML依賴

2010-07-08 15:28:39

UML類圖依賴關(guān)系

2010-07-08 14:58:29

UML類圖關(guān)系

2010-06-13 09:18:28

UML依賴

2010-06-13 09:32:01

UML依賴

2010-06-29 13:11:40

UML類圖依賴關(guān)系

2010-07-09 10:26:35

UML類圖關(guān)系

2010-06-29 12:55:44

UML類圖依賴關(guān)系

2010-07-09 15:29:51

UML類關(guān)系

2012-01-05 11:20:08

JavaUML

2010-06-12 18:30:57

UML類圖關(guān)系

2011-04-12 14:47:54

UML

2010-07-08 15:56:52

UML類圖依賴關(guān)系

2010-07-01 11:33:17

UML類圖關(guān)系

2010-06-18 14:43:28

UML關(guān)系圖

2010-06-28 16:54:49

UML類圖關(guān)系

2010-06-11 18:09:26

UML對象圖

2010-06-29 09:08:15

UML類圖關(guān)系

2010-06-12 15:04:43

UML關(guān)聯(lián)
點贊
收藏

51CTO技術(shù)棧公眾號