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