全面解析UML關(guān)系符號
本節(jié)和大家一起學(xué)習(xí)一下UML關(guān)系符號,UML把類之間的關(guān)系分為5種,有關(guān)聯(lián),依賴,聚集,泛化和實現(xiàn)等。這里向大家簡單介紹一下,相信通過本節(jié)的學(xué)習(xí)你對UML關(guān)系符號一定會有所了解。
UML關(guān)系符號
UML把類之間的關(guān)系分為以下5種.
◆關(guān)聯(lián):類A與類B的實例之間存在特定的對應(yīng)關(guān)系
◆依賴:類A訪問類B提供的服務(wù)
◆聚集:類A為整體類,類B為局部類,類A的對象由類B的對象組合而成
◆泛化:類A繼承類B
◆實現(xiàn):類A實現(xiàn)了B接口
關(guān)聯(lián)(Association)
UML關(guān)系符號中關(guān)聯(lián)指的是類之間的特定對應(yīng)關(guān)系,在UML中用帶實線的箭頭表示。按照類之間的數(shù)量對比,關(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)
依賴(Dependency)
依賴指的是類之間的調(diào)用關(guān)系,在UML中用帶虛線的箭頭表示。如果類A訪問類B的屬性或者方法,
或者類A負責實例化類B,那么可以說類A依賴類B。和關(guān)聯(lián)關(guān)系不同,無須在類A中定義類B類型的屬性。
聚集(Aggregation)
UML關(guān)系符號中聚集指的是整體與部分之間的關(guān)系,在UML中用帶實線的菱形箭頭表示。
聚集關(guān)系還可以分為兩種類型:
◆被聚集的子系統(tǒng)允許被拆卸和替換,這是普通聚集關(guān)系。
◆被聚集的子系統(tǒng)不允許被拆卸和替換,這種聚集稱為強聚集關(guān)系,或者組成關(guān)系。
注:強聚集(組成)可用帶實線的實心菱形箭頭表示。
泛化(Generalization)
泛化指的是類之間的繼承關(guān)系,在UML中用帶實線的三角形箭頭表示。
實現(xiàn)(Realization)
UML關(guān)系符號中實現(xiàn)指的是類與接口之間的關(guān)系,在UML中用帶虛線的三角形箭頭表示。
以下是GOF設(shè)計模式中的描述:
箭頭和三角表示子類關(guān)系。
虛箭頭線表示一個類實例化另一個類的對象,箭頭指向被實例化的對象的類。
普通的箭頭線表示相識(acquaintance也叫關(guān)聯(lián)或者引用),意味著一個對象僅僅知道另一個對象。相識的對象可能請求彼此的操作,但他們不為對方負責,它只標示了對象間較松散的耦合關(guān)系。
尾部帶有菱形的箭頭線表示聚合(aggregation),意味著一個對象擁有另一個對象或者對另一個對象負責。一般我們稱一個對象包含另一個對象,或者是另一個對象的一部分。聚合意味著聚合對象和其所有者具有相同的生命周期。
抽象類名以斜體表示,抽象操作也以斜體表示。圖中可以包括實現(xiàn)操作的偽代碼,代碼將出現(xiàn)在帶有褶角的框中,并用虛線將該褶角框與代碼所實現(xiàn)的操作相連
【編輯推薦】