終於明白六大類UML類圖關係了

UML,全稱Unified Modeling Language,統一建模語言。而UML圖分爲用例圖、類圖、對象圖、狀態圖、活動圖、時序圖、協做圖、構件圖、部署圖等9種圖。程序員

在面嚮對象語言中,咱們常常看到有用UML類圖去表示各類接口和類之間關係的。可是,每次看的都是雲裏霧裏,搞不清楚那些虛線,箭頭都是表明什麼意思。今天,就讓咱們來一探究竟吧。學習

UML類圖中有六種關係,分別是依賴關係,關聯關係,聚合關係,組合關係,實現關係,泛化關係。3d

通過我本身的理解,畫出了六種關係的示例圖。類的成員變量和方法前面的修飾符有public, private, protected, default,在UML類圖中分別用 +, -, #, ~表示。cdn

1、依賴關係對象

依賴關係是一種使用關係,表示某個類依賴於另一個類,一般表現爲,某個類的方法的參數使用了另一個類的對象。blog

在UML類圖中,依賴關係用帶箭頭的虛線表示,箭頭從使用類指向被依賴的類。下圖中表示,程序員依賴於計算機來編寫代碼。file繼承

2、關聯關係接口

關聯關係是對象之間的一種引用關係,表示一個類和另一個類之間的聯繫,如老師和學生,丈夫和妻子等。部署

關聯關係有單向和雙向的。在UML類圖中,單向關聯用一個帶箭頭的實線表示,箭頭從使用類指向被關聯的類,雙向關聯用帶箭頭或者沒有箭頭的實線來表示。fileit

上圖表示老師和學生之間的關係是雙向的,一個老師能夠有多個學生,一個學生也能夠有多個老師。學生和課程之間是單向的,一個學生會學習多門課程,而課程是一個抽象的概念,它不擁有學生。

3、聚合關係

聚合關係是關聯關係的一種,表示總體和部分之間的關係,如學校和老師,車子和輪胎。

聚合關係在類中是經過成員對象來體現的,成員是總體的一部分,成員也能夠脫離總體而存在。如老師是學校的一部分,同時老師也是獨立的個體,能夠單獨存在。

在UML類圖中,用帶空心菱形的實線來表示聚合關係,菱形指向總體。file

4、組合關係

組合關係是總體和部分之間的關係,也是關聯關係的一種,是一種比聚合關係還要強的關係。部分對象不能脫離總體對象而單獨存在,如人的身體和大腦之間的關係,大腦不能脫離身體而單獨存在。

在UML類圖中,用帶實心菱形的實線來表示組合關係,菱形指向總體。

file

5、實現關係

實現關係就是接口和實現類之間的關係。類實現了接口中的抽象方法。

在UML類圖中,用帶空心三角箭頭的虛線來表示實現關係,箭頭從實現類指向接口。

file

如上圖,北京大學和清華大學分別實現了大學接口。

6、泛化關係

泛化關係其實就是父子類之間的繼承關係,表示通常與特殊的關係,指定子類如何特殊化父類的特徵和行爲。

在UML類圖中,用帶空心三角箭頭的實線來表示泛化關係,箭頭從子類指向父類。

file

如上圖,父類動物有一個吃的方法,小鳥和獅子都繼承於動物類,小鳥有它特有的方法飛行,而獅子有特有的方法奔跑。

六種關係中,從弱到強依次是:依賴關係 < 關聯關係 < 聚合關係 < 組合關係 < 實現關係 = 泛化關係

相關文章
相關標籤/搜索