uml類圖各種箭頭 UML類圖中類之間的6種關(guān)系與區(qū)別?
UML類圖中類之間的6種關(guān)系與區(qū)別?類圖中類之間的關(guān)系是一個復(fù)雜的內(nèi)容。有聯(lián)想、聚合、組合、概括和依賴。關(guān)聯(lián):它是模型元素之間的語義連接,是類之間的弱連接。關(guān)聯(lián)可以是定向的、單向的或雙向的??梢詫㈥P(guān)聯(lián)
UML類圖中類之間的6種關(guān)系與區(qū)別?
類圖中類之間的關(guān)系是一個復(fù)雜的內(nèi)容。有聯(lián)想、聚合、組合、概括和依賴。關(guān)聯(lián):它是模型元素之間的語義連接,是類之間的弱連接。關(guān)聯(lián)可以是定向的、單向的或雙向的。可以將關(guān)聯(lián)名稱添加到關(guān)聯(lián)以描述其功能。關(guān)聯(lián)兩端的類也可以與某些角色一起參與關(guān)聯(lián),這些角色可以具有多重性,表示有多少對象可以參與關(guān)聯(lián)。關(guān)聯(lián)屬性、操作和其他信息可以由關(guān)聯(lián)類進一步描述。關(guān)聯(lián)類通過虛線與關(guān)聯(lián)相連接??梢蕴砑右恍┘s束來增強關(guān)聯(lián)的含義。如下圖所示:聚合是一種特殊的關(guān)聯(lián),表示整體和部分之間的關(guān)系。通常,在定義了一個整體類之后,我們分析了整體類的構(gòu)成和結(jié)構(gòu)。從而找出一些組合類,形成整個類與組合類之間的聚合關(guān)系。例如,艦隊是由一系列船只組成的。在需求描述中,“包含”、“構(gòu)成”、“劃分”等詞通常表示聚合。作文也是一種特殊的聯(lián)想,它也代表了類的整體與部分之間的關(guān)系,但作文關(guān)系中的部分與整體具有統(tǒng)一的生命周期。一旦整個對象不存在,一些對象就不存在了。部分客體與整體客體之間存在著生死關(guān)系。聚合與組合的區(qū)別:聚合關(guān)系為has-a關(guān)系,組合關(guān)系為contains-a關(guān)系;聚合關(guān)系表示整體與局部的關(guān)系較弱,而組合關(guān)系較強;表示聚合關(guān)系中部分事物的對象與表示聚合事物的對象的生存期無關(guān)。一旦聚合對象被刪除,表示部分內(nèi)容的對象就不能被刪除。一旦組合對象被刪除,代表某些事物的對象也會被刪除。泛化定義了一般元素和特殊元素之間的分類關(guān)系,也稱為繼承關(guān)系。概括關(guān)系是一種“類”關(guān)系,它定義了一般元素和特殊元素之間的分類關(guān)系。下圖是泛化關(guān)系的示例。有兩個元素,修改X的定義可能導(dǎo)致Y的定義,那么Y被認為是X相關(guān)的。依賴可以由各種原因引起,例如一個類向另一個類發(fā)送消息,或者一個類是另一個類的數(shù)據(jù)成員類型,或者一個類是另一個類操作的參數(shù)類型等等。有時很難區(qū)分依賴和關(guān)聯(lián)。如果類A和類B是相關(guān)的,那么它們之間一定存在依賴關(guān)系。如果兩個類之間存在關(guān)聯(lián),則不必顯示兩個類之間的依賴關(guān)系。