UML的術語 泛化,組合,依賴

2021-04-13 08:37:31 字數 1271 閱讀 6417

泛化(

generalization)

圖表 1 泛化

在上圖中,空心的三角表示繼承關係(類繼承),在

uml的術語中,這種關係被稱為泛化(

generalization

)。person(人)

是基類,

teacher(教師)

、student(學生)

、guest(來賓)

是子類。

若在邏輯上b是a的「一種」,並且a的所有功能和屬性對b而言都有意義,則允許b繼承a的功能和屬性。

例如,教師是人,

teacher

是person

的「一種」(

a kind of

)。那麼類teacher可以從類person派生(繼承)。

如果a是基類,b是a的派生類,那麼b將繼承a的資料和函式。

若在邏輯上b是a的「一種」(a kind of ),則允許b繼承a的功能和屬性。

聚合(組合)

圖表 2 組合

若在邏輯上a是b的「一部分」(a part of),則不允許b從a派生,而是要用a和其它東西組合出b。

例如,眼(eye)、鼻(nose)、口(mouth)、耳(ear)是頭(head)的一部分,所以類head應該由類eye、nose、mouth、ear組合而成,不是派生(繼承)而成。

聚合的型別分為無、共享(聚合)、復合(組合)三類。

聚合(aggregation)

圖表 3 共享

上面圖中,有乙個菱形(空心)表示聚合(

aggregation

)(聚合型別為共享),聚合的意義表示

has-a

關係。聚合是一種相對鬆散的關係,聚合類

b不需要對被聚合的類

a負責。

組合(composition)

圖表 4 復合

這幅圖與上面的唯一區別是菱形為實心的,它代表了一種更為堅固的關係

——組合(

composition

)(聚合型別為復合)。組合表示的關係也是

has-a

,不過在這裡,

a的生命期受

b控制。即

a會隨著

b的建立而建立,隨

b的消亡而消亡。

依賴(dependency)

圖表 5 依賴 這裡b

與a的關係只是一種依賴

(dependency)

關係,這種關係表明,如果類

a被修改,那麼類

b會受到影響

UML依賴 泛化 關聯 聚合 組合 實現

結專案後再複習了一下依賴 泛化 關聯 聚合 組合 實現關係怎麼畫,箭頭的指向結合例項再次理解。1 依賴 虛線箭頭,有箭頭的那一項為被依賴關係 電視和遙控器為例,遙控器的開關變動使得電視機頻道發生了改變,乙個的改變引起另乙個的改變 2 關聯 實線箭頭,箭頭那端表示被引用的物件 3 泛化 空心三角 實線...

UML之泛化關係

在學習uml的時候,我想起來了 大話設計模式 這裡邊的一張類圖,把我給整懵了,腦袋裡出現了好幾個問號 1.到底什麼是泛化 繼承 關係?2.如何用圖精確表現泛化關係呢?泛化關係是類元的一般描述和具體描述之間的關係,具體描述建立在一般描述的基礎之上,並對其進行了擴充套件。具體描述完全擁有一般描述的特性 ...

泛化,實現,關聯,依賴

uml四大關係中,包括 泛化,實現,關聯,依賴。泛化就是我們在物件導向中提到的繼承,而實現則更多的體現在類和介面之間的關係。關聯和依賴相對於上邊兩個關係,則表現的不是很容易理解,所以我們今天來深入學習一下。它表示類與類之間的連線,它使得乙個類知道另乙個類的屬性和方法。關聯可以用單向箭頭表示單向關聯,...