UML用戶指南--解析三大UML關(guān)系
本節(jié)和大家一起學(xué)習(xí)一下UML用戶指南--UML關(guān)系,在學(xué)習(xí)UML類圖時(shí)經(jīng)常會(huì)遇到UML關(guān)系問(wèn)題,這里就和大家分享UML類圖中三種最重要的UML關(guān)系。下面是有關(guān)UML關(guān)系的詳細(xì)介紹。
UML用戶指南--UML關(guān)系
UML關(guān)系(relationship)
這一章講述了三種最重要的關(guān)系:
⑴依賴(dependency)
UML關(guān)系中依賴用來(lái)表示類之間的使用關(guān)系,包括精化、跟蹤、綁定。
通常當(dāng)A類的某個(gè)操作中使用B類作為參數(shù),那么稱A依賴B。此外對(duì)A事物進(jìn)行了B注釋時(shí),A事物依賴B注釋。A類中如果引用(import)了B包(package)中的類,也稱A類依賴B包。
可以為依賴定義一個(gè)名稱來(lái)區(qū)別不同的依賴,通常是不需要的,我們可以使用構(gòu)造型來(lái)區(qū)別依賴的不同含義。(構(gòu)造型是UML公共機(jī)制中擴(kuò)展機(jī)制下的一種機(jī)制)
⑵關(guān)聯(lián)(association)
UML關(guān)系中關(guān)聯(lián)用來(lái)表示對(duì)象之間的結(jié)構(gòu)關(guān)系,它指明一個(gè)事物的對(duì)象與另一個(gè)事物的對(duì)象之間的聯(lián)系。
書中強(qiáng)調(diào)關(guān)聯(lián)是對(duì)象之間而非類之間的關(guān)系,面向?qū)ο笾袑?duì)象就是類的實(shí)例,所以它是表示實(shí)例之間的結(jié)構(gòu)關(guān)系的。
關(guān)聯(lián)相比依賴和泛化要復(fù)雜一些,可以用4種修飾來(lái)描述一個(gè)關(guān)聯(lián):
Ⅰ、名稱
可以為關(guān)聯(lián)定義一個(gè)名稱,用來(lái)描述該關(guān)系的性質(zhì),同時(shí)該名稱還可以定義一個(gè)方向,表明是從誰(shuí)指向誰(shuí)。
Ⅱ、角色
角色是關(guān)聯(lián)中一端的對(duì)象對(duì)另一端的對(duì)象所呈現(xiàn)的職責(zé)。如果有角色的修飾,通常就不需要名稱的修飾了。
Ⅲ、多重性
這里的多重性指的是關(guān)聯(lián)的另一端的類的每個(gè)對(duì)象要求在本端的類必須有多少個(gè)對(duì)象。也就是通常的數(shù)量對(duì)應(yīng)關(guān)系,1對(duì)1,1對(duì)多,多對(duì)1等等。
Ⅳ、聚合
聚合是一種特殊的關(guān)聯(lián),它描述的是整體/部分的關(guān)系。
⑶泛化(generalization)
UML關(guān)系中泛化用來(lái)表示一般類/特殊類之間的關(guān)系。
它在編程中體現(xiàn)為繼承,父類與子類的關(guān)系就是一種泛化關(guān)系。
依賴和關(guān)聯(lián)是可以自連接(由自己連接到自己)的,而泛化不可以。
【編輯推薦】
- 幾種UML關(guān)聯(lián)關(guān)系的區(qū)別詳解
- UML關(guān)聯(lián)符號(hào)用法剖析
- UML實(shí)踐--UML用例圖和類圖解析
- UML學(xué)習(xí)入門手冊(cè)
- 九大UML視圖專家解析