UML關(guān)聯(lián)符號(hào)用法剖析
本節(jié)我們來(lái)學(xué)習(xí)一下UML關(guān)聯(lián)符號(hào)方面的知識(shí),在軟件開(kāi)發(fā)過(guò)程中經(jīng)常會(huì)用到UML建模語(yǔ)言,而UML關(guān)聯(lián)符號(hào)優(yōu)勢(shì)UML中重要從成部分,所以有必要向大家闡明一下UMLl關(guān)聯(lián)符號(hào)問(wèn)題。
UML關(guān)聯(lián)符號(hào)
UML把類(lèi)之間的關(guān)系分為以下5種.
◆關(guān)聯(lián):類(lèi)A與類(lèi)B的實(shí)例之間存在特定的對(duì)應(yīng)關(guān)系
◆依賴:類(lèi)A訪問(wèn)類(lèi)B提供的服務(wù)
◆聚集:類(lèi)A為整體類(lèi),類(lèi)B為局部類(lèi),類(lèi)A的對(duì)象由類(lèi)B的對(duì)象組合而成
◆泛化:類(lèi)A繼承類(lèi)B
◆實(shí)現(xiàn):類(lèi)A實(shí)現(xiàn)了B接口
UML關(guān)聯(lián)(Association)
關(guān)聯(lián)指的是類(lèi)之間的特定對(duì)應(yīng)關(guān)系,在UML中用帶實(shí)線的箭頭表示。按照類(lèi)之間的數(shù)量對(duì)比,關(guān)聯(lián)
可以分為以下三種:
◆一對(duì)一關(guān)聯(lián)
◆一對(duì)多關(guān)聯(lián)
◆多對(duì)多關(guān)聯(lián)
注意:關(guān)聯(lián)還要以分為單向關(guān)聯(lián)和雙向關(guān)聯(lián)
依賴(Dependency)
依賴指的是類(lèi)之間的調(diào)用關(guān)系,在UML中用帶虛線的箭頭表示。如果類(lèi)A訪問(wèn)類(lèi)B的屬性或者方法,
或者類(lèi)A負(fù)責(zé)實(shí)例化類(lèi)B,那么可以說(shuō)類(lèi)A依賴類(lèi)B。和關(guān)聯(lián)關(guān)系不同,無(wú)須在類(lèi)A中定義類(lèi)B類(lèi)型的屬性。
聚集(Aggregation)
UML關(guān)聯(lián)符號(hào)中聚集指的是整體與部分之間的關(guān)系,在UML中用帶實(shí)線的菱形箭頭表示。
聚集關(guān)系還可以分為兩種類(lèi)型:
◆被聚集的子系統(tǒng)允許被拆卸和替換,這是普通聚集關(guān)系。
◆被聚集的子系統(tǒng)不允許被拆卸和替換,這種聚集稱(chēng)為強(qiáng)聚集關(guān)系,或者組成關(guān)系。
注:強(qiáng)聚集(組成)可用帶實(shí)線的實(shí)心菱形箭頭表示。
泛化(Generalization)
泛化指的是類(lèi)之間的繼承關(guān)系,在UML中用帶實(shí)線的三角形箭頭表示。
實(shí)現(xiàn)(Realization)
UML關(guān)聯(lián)符號(hào)中實(shí)現(xiàn)指的是類(lèi)與接口之間的關(guān)系,在UML中用帶虛線的三角形箭頭表示。
以下是GOF設(shè)計(jì)模式中的描述:
箭頭和三角表示子類(lèi)關(guān)系。
虛箭頭線表示一個(gè)類(lèi)實(shí)例化另一個(gè)類(lèi)的對(duì)象,箭頭指向被實(shí)例化的對(duì)象的類(lèi)。
普通的箭頭線表示相識(shí)(acquaintance也叫UML關(guān)聯(lián)或者引用),意味著一個(gè)對(duì)象僅僅知道另一個(gè)對(duì)象。相識(shí)的對(duì)象可能請(qǐng)求彼此的操作,但他們不為對(duì)方負(fù)責(zé),它只標(biāo)示了對(duì)象間較松散的耦合關(guān)系。
尾部帶有菱形的箭頭線表示聚合(aggregation),意味著一個(gè)對(duì)象擁有另一個(gè)對(duì)象或者對(duì)另一個(gè)對(duì)象負(fù)責(zé)。一般我們稱(chēng)一個(gè)對(duì)象包含另一個(gè)對(duì)象,或者是另一個(gè)對(duì)象的一部分。聚合意味著聚合對(duì)象和其所有者具有相同的生命周期。
抽象類(lèi)名以斜體表示,抽象操作也以斜體表示。圖中可以包括實(shí)現(xiàn)操作的偽代碼,代碼將出現(xiàn)在帶有褶角的框中,并用虛線將該褶角框與代碼所實(shí)現(xiàn)的操作相連
【編輯推薦】