UML 類圖

UML,統一建模語言「Unified Modeling Language」,是非專利的第三代建模規約語言。UML是一種開放的方法,用於說明、可視化、構建和編寫一個正在開發的、面向對象的、軟件密集系統的製品的開放方法。UML展示了一系列最佳工程實踐,這些最佳實踐在對大規模,複雜系統進行建模方面,特別是在軟件架構層次已經被驗證有效。【維基百科php

最近再看設計模式以及一些文章時會發現有不少uml類圖,都是選擇性的大致看一下,基本上都是隻知其一;不知其二,爲了更深層次的理解,便想主動學習一下UML類圖的相關知識。設計模式

總體結構圖以下圖所示: 架構

UML類圖

類
如上所示, 動物矩形框表明着一個類「 Class」。類圖分爲三層。第一層顯示類的名稱,若是是抽象類,就用斜體顯示。第二層是類的特性,一般就是字段和屬性。第三層是類的操做,一般是方法和行爲。注意前面的符號, +表示 public-表示 private#號表示 protect

接口

接口圖
上圖表示一個接口圖,它與類圖的區別主要是頂端有 <<interface>>顯示,第一行是接口的名稱,第二行是方法。

接口-棒棒糖表示法
接口還有另外一種表示方法,俗稱「 棒棒糖表示法」,好比圖中的唐老鴨類就是實現了 講人話的接口。

繼承(generalization)關係

標準稱之爲:泛化「generalization」關係 學習

繼承關係
動物和鳥、鳥和大雁、鴨和唐老鴨都是屬於繼承關係,繼承關係用 空心三角形+實線來表示。

實現(realize)關係

實現關係

大雁實現了飛翔接口,實現接口用空心三角形+虛線來表示。設計

關聯(association)關係

關聯關係
企鵝是特別的鳥,會游泳但不會飛。更重要的是,它與氣候有很大的關係,企鵝須要 知道氣候的變化,須要 瞭解氣候規律,來進行長途跋涉的遷移活動。 當一個類 知道另外一個類時,能夠用 關聯(association),關聯關係用 實線箭頭來表示。

聚合(Aggregtion)關係

聚合關係

聚合表示一種弱擁有關係,體現的是A對象能夠包含B對象,但B對象不是A對象的一部分 聚合關係用空心的菱形+實線箭頭來表示3d

合成(Composition)關係

合成關係

合成(Composition或者「組合」)是一種強的擁有關係,體現了嚴格的部分和總體的關係,部分和總體的生命週期同樣 如上圖,鳥和翅膀就是合成(組合)關係,由於它們是總體和部分的關係,而且翅膀和鳥的生命週期是相同的。同時在合成關係連線的兩端還有一個數字1和數字2,這被稱爲基數。代表這一端的類能夠有幾個實例,很顯然一個鳥應該有兩隻翅膀。若是一個類可能有無數個實例,則就用n來表示,關聯關係、聚合關係都是能夠有基數的。code

合成關係用實心的菱形+實線箭頭來表示。cdn

依賴關係

依賴關係
上圖所示,動物若是要有生命力,須要氧氣、水、食物等。也就是說,動物依賴於氧氣和水。他們之間是 依賴關係Dependency)。 依賴關係用 虛線箭頭來表示。
相關文章
相關標籤/搜索