中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

UML依賴和UML關聯關系的異同點

發布時間:2021-08-25 10:02:14 來源:億速云 閱讀:114 作者:chen 欄目:開發技術

本篇內容介紹了“UML依賴和UML關聯關系的異同點”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

本節和大家一起學習一下UML中UML依賴和UML關聯關系的異同,只有了解了他們之間的異同才能在使用的時候很好的選擇,相信本節的學習一定會讓你對UML中幾種關系有一定的認識。

UML中UML依賴和UML關聯關系的異同

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

UML依賴和UML關聯的異同:(《Java面向對象編程》一書,作者:孫衛琴來源:www.javathinker.org)
在建立對象模型時,很容易把依賴、關聯和聚集關系混淆。當對象A和對象B之間存在依賴、關聯或聚集關系時,對象A都有可能調用對象B的方法,這是三種關系之間的相同之處,除此之外,它們有著不同的特征。

1.UML依賴關系的特征

對于兩個相對獨立的系統,當一個系統負責構造另一個系統的實例,或者依賴另一個系統的服務時,這兩個系統之間主要體現為依賴關系,例如生產零件的機器和零件,機器負責構造零件對象。再例如充電電池和充電器,充電電池通過充電器來充電。再例如自行車Bicycle和打氣筒Pump,自行車通過打氣筒來充氣。圖1-39為Bicycle類與Pump類的類框圖。

圖1-39Bicycle類與Pump類的依賴關系

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

2.UML關聯關系的特征

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

圖1-40主人和自行車的關聯關系

UML依賴和UML關聯關系的異同點

Person類與Bicycle類之間存在關聯關系,這意味著在Person類中需要定義一個Bicycle類型的成員變量。以下是Person類的定義:
publicclassPerson{
privateBicyclebicycle;//主人的自行車
publicBicyclegetBicycle(){
returnbicycle;
}
publicvoidsetBicycle(Bicyclebicycle){
this.bicycle=bicycle;
}
/**騎自行車去上班*/
publicvoidgoToWork(){
bicycle.run();
}
}
在現時生活中,當你騎自行車去上班時,只要從家里推出自己的自行車就能上路了,不象給自行車打氣那樣,在需要打氣時,還要四處去找修車棚。因此,在Person類的goToWork()方法中,調用自身的bicycle對象的run()方法。假如goToWork()方法采用以下的定義方式:
/**騎自行車去上班*/
publicvoidgoToWork(Bicyclebicycle){
bicycle.run();
}
那就好比去上班前,還要先四處去借一輛自行車,然后才能去上班。

“UML依賴和UML關聯關系的異同點”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節
推薦閱讀:
  1. uml分析
  2. 什么是UML

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

uml
AI

安宁市| 衢州市| 丰都县| 石河子市| 建瓯市| 卢龙县| 呼和浩特市| 宁河县| 潞城市| 湖南省| 北安市| 安仁县| 文安县| 宁国市| 平谷区| 沁阳市| 饶平县| 温宿县| 丰县| 驻马店市| 屯昌县| 长春市| 大余县| 鄄城县| 靖江市| 武乡县| 玉田县| 余江县| 通化县| 万荣县| 镇巴县| 上思县| 屏山县| 双牌县| 长寿区| 平乐县| 高青县| 融水| 海阳市| 平凉市| 乌审旗|