自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

UML依賴和UML關(guān)聯(lián)關(guān)系的異同點(diǎn)解析

開(kāi)發(fā) 架構(gòu)
在學(xué)習(xí)UML時(shí),UML中的幾種關(guān)系是必須要掌握的知識(shí),你對(duì)此是否熟悉,這里就向大家介紹一下UML中UML依賴和UML關(guān)聯(lián)關(guān)系的異同。

本節(jié)和大家一起學(xué)習(xí)一下UML中UML依賴和UML關(guān)聯(lián)關(guān)系的異同,只有了解了他們之間的異同才能在使用的時(shí)候很好的選擇,相信本節(jié)的學(xué)習(xí)一定會(huì)讓你對(duì)UML中幾種關(guān)系有一定的認(rèn)識(shí)。

UML中UML依賴和UML關(guān)聯(lián)關(guān)系的異同

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

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

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

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

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

 
Bicycle類(lèi)和Pump類(lèi)之間是依賴關(guān)系,在Bicycle類(lèi)中無(wú)需定義Pump類(lèi)型的變量。Bicycle類(lèi)的定義如下:
publicclassBicycle{
/**給輪胎充氣*/
publicvoidexpand(Pumppump){
pump.blow();
}
}
在現(xiàn)時(shí)生活中,通常不會(huì)為某一輛自行車(chē)配備專(zhuān)門(mén)的打氣筒,而是在需要充氣的時(shí)候,從附近某個(gè)修車(chē)棚里借個(gè)打氣筒打氣。在程序代碼中,表現(xiàn)為Bicycle類(lèi)的expand()方法有個(gè)Pump類(lèi)型的參數(shù)。以下程序代碼表示某輛自行車(chē)先后到兩個(gè)修車(chē)棚里充氣:
myBicycle.expand(pumpFromRepairShed1);//到***個(gè)修車(chē)棚里充氣
myBicycle.expand(pumpFromRepairShed2);//若干天后,到第二個(gè)修車(chē)棚里充氣。下面我們來(lái)看一下UML關(guān)聯(lián)關(guān)系的特征,和UML依賴做一下對(duì)比。

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

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

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

 

Person類(lèi)與Bicycle類(lèi)之間存在關(guān)聯(lián)關(guān)系,這意味著在Person類(lèi)中需要定義一個(gè)Bicycle類(lèi)型的成員變量。以下是Person類(lèi)的定義:
publicclassPerson{
privateBicyclebicycle;//主人的自行車(chē)
publicBicyclegetBicycle(){
returnbicycle;
}
publicvoidsetBicycle(Bicyclebicycle){
this.bicycle=bicycle;
}
/**騎自行車(chē)去上班*/
publicvoidgoToWork(){
bicycle.run();
}
}
在現(xiàn)時(shí)生活中,當(dāng)你騎自行車(chē)去上班時(shí),只要從家里推出自己的自行車(chē)就能上路了,不象給自行車(chē)打氣那樣,在需要打氣時(shí),還要四處去找修車(chē)棚。因此,在Person類(lèi)的goToWork()方法中,調(diào)用自身的bicycle對(duì)象的run()方法。假如goToWork()方法采用以下的定義方式:
/**騎自行車(chē)去上班*/
publicvoidgoToWork(Bicyclebicycle){
bicycle.run();
}
那就好比去上班前,還要先四處去借一輛自行車(chē),然后才能去上班。本節(jié)關(guān)于UML依賴和UML關(guān)聯(lián)關(guān)系的異同介紹到這里。

【編輯推薦】

  1. 幾種UML關(guān)聯(lián)關(guān)系的區(qū)別詳解
  2. UML關(guān)聯(lián)符號(hào)用法剖析
  3. UML組成及其全稱解析
  4. 解析UML類(lèi)圖符號(hào)意義
  5. 九大UML視圖專(zhuān)家解析

 

責(zé)任編輯:佚名 來(lái)源: cnblogs.com
相關(guān)推薦

2010-06-12 15:21:19

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

2010-06-13 09:32:01

UML依賴

2010-07-09 10:36:14

UML類(lèi)圖關(guān)系

2010-07-08 15:28:39

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

2010-06-13 09:42:05

UML依賴

2010-07-09 10:26:35

UML類(lèi)圖關(guān)系

2010-07-07 10:54:53

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

2010-06-17 15:54:24

UML總結(jié)

2010-07-08 14:58:29

UML類(lèi)圖關(guān)系

2010-07-09 15:29:51

UML類(lèi)關(guān)系

2010-06-13 10:56:13

UML文獻(xiàn)

2010-06-13 17:05:54

UML關(guān)系

2010-06-29 13:11:40

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

2010-06-12 15:04:43

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

2010-07-12 11:23:09

UML類(lèi)圖

2010-06-17 16:14:33

UML總結(jié)

2010-06-28 18:52:49

UML關(guān)系符號(hào)

2010-07-05 16:48:32

UML關(guān)系圖符號(hào)

2010-06-18 14:43:28

UML關(guān)系圖

2010-06-10 12:37:05

UML2.0
點(diǎn)贊
收藏

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