UML對象圖和類圖關(guān)系解析
本節(jié)向大家介紹一下UML圖中UML類圖和UML對象圖的關(guān)系,主要有依賴關(guān)系,實(shí)現(xiàn)關(guān)系和泛化關(guān)系等,相信通過本節(jié)的介紹你對UML圖中圖形之間的關(guān)系有一定的了解。
UML類圖和UML對象圖(對象是類的實(shí)例,那么對象圖就是類圖的一個實(shí)例,類圖類名下面無下劃線,而對象圖是有的):
一、依賴關(guān)系(Dependence):假設(shè)A類的變化引起了B類的變化,則說名B類依賴于A類。
依賴關(guān)系有如下三種情況:
1、A類是B類的一個成員變量;
2、A類是B類方法當(dāng)中的一個參數(shù);
3、A類向B類發(fā)送消息,從而影響B(tài)類發(fā)生變化;
使用帶箭頭的虛線表示
二、泛化關(guān)系(Generalization):UML對象圖和類圖的泛化關(guān)系A(chǔ)是B和C的父類,B,C具有公共類(父類)A,說明A是B,C的一般化(概括,也稱泛化)
在UML當(dāng)中,對泛化關(guān)系有三個要求:
1、子類與父類應(yīng)該完全一致,父類所具有的屬性、操作,子類應(yīng)該都有;
2、子類中除了與父類一致的信息以外,還包括額外的信息;
3、可以使用父類的實(shí)例的地方,也可以使用子類的實(shí)例;
使用帶空心三角形的實(shí)線表示
三、關(guān)聯(lián)關(guān)系(Association):類之間的聯(lián)系,如籃球隊員與球隊之間的關(guān)聯(lián)(下圖所示)。其中,關(guān)聯(lián)兩邊的"employee"和“employer”標(biāo)示了兩者之間的關(guān)系,而數(shù)字表示兩者的關(guān)系的限制,是關(guān)聯(lián)兩者之間的多重性。通常有“*”(表示所有,不限),“1”(表示有且僅有一個),“0...”(表示0個或者多個),“0,1”(表示0個或者一個),“n...m”(表示n到m個都可以),“m...*”(表示至少m個)。
在關(guān)聯(lián)中有一種叫“限定關(guān)聯(lián)”,還有一種謂之自身關(guān)聯(lián)。另外,對象之間的關(guān)聯(lián)就沒那么復(fù)雜,只是將類的關(guān)聯(lián)實(shí)例化而已。
使用帶數(shù)字的實(shí)線表示
四、聚合關(guān)系(Aggregation):UML對象圖和類圖的聚合關(guān)系表示的是整體和部分的關(guān)系,整體與部分可以分開
如:電話機(jī)包括一個話筒
電腦包括鍵盤、顯示器,一臺電腦可以和多個鍵盤、多個顯示器搭配,確定鍵盤和顯示器是可以和主機(jī)分開的,主機(jī)可以選擇其他的鍵盤、顯示器組成電腦;
使用帶空心菱形的實(shí)線來表示
五、組合關(guān)系(Composition):UML對象圖和類圖的組合關(guān)系也是整體與部分的關(guān)系,但是整體與部分不可以分開
如:公司和部門,部門是部分,公司是整體,公司A的財務(wù)部不可能和公司B的財務(wù)部對換,就是說,公司A不能和自己的財務(wù)部分開;人與人的心臟
使用帶實(shí)心菱形的實(shí)線來表示
六、實(shí)現(xiàn)關(guān)系(Implementation):是用來規(guī)定接口和實(shí)線接口的類或者構(gòu)建結(jié)構(gòu)的關(guān)系,接口是操作的集合,而這些操作就用于規(guī)定類或者構(gòu)建的一種服務(wù)。
使用帶空心三角形的虛線表示
【編輯推薦】