天天看點

UML類圖詳解

UML,即Unified Model Language,統一模組化語言。百度百科對他的定義是:它是一個支援模型化和軟體系統開發的圖形化語言,為軟體開發的所有階段提供模型化和可視化支援,包括由需求分析到規格,到構造和配置。作為一個軟體工程師,很多技能并不一定說非得具備,但是,一旦我們具備了,很多時候機會總是會多那麼一點點。

下面,我們通過一個示例來了解UML類圖的基本文法結構。畫UML類圖其實有專業的工具,像常用的Visio等,都是很好的工具,樓主這裡由于時間關系就不用專業的工具,如有欠缺之處,歡迎廣大網友指出。圖檔比較大,建議大家用QQ影響檢視器打開,它可以實作對圖檔縮放的時候不失真。

UML類圖詳解

通過以上圖檔,我們可以看到UML中常用的表示方法。下面将圖像拆開來細說一下。

首先看動物那個矩形框,它代表來了一個類(Class)。類圖分3層,第一層表示類的名稱,如果是抽象類,則用斜體表示。第二層是類的特性,通常表示字段和屬性。第三層是類的操作,通常是行為和方法。注意第二層和第三層前面的符号,有“+”,“—”,還可能有“#”,這代表什麼含義呢?“+”代表public,“—”代表private,而“#”則表示protected。

UML類圖詳解

再看飛翔這個矩形框,它表示一個接口圖,和類圖的差別就是頂部有interface字樣,第一行表示接口名稱,第二行表示接口方法。接口還有另一種表示方法——棒棒糖表示法。圖中唐老鴨實作講人話的接口。

UML類圖詳解

類和類之間的繼承關系,用實線+空心三角形表示,如下圖。

UML類圖詳解

類和接口之間的實作關系用虛線+空心三角形表示,如下圖,表示實作接口。

UML類圖詳解

關聯用實線箭頭表示。

UML類圖詳解

聚合表示一種弱的“擁有”關系,展現的是A對象可以包含B對象,但B對象不一定是A對象的一部分。聚合用空心的菱形+實線箭頭來表示。

UML類圖詳解

合成(也說組合)是一種強的擁有關系,展現了嚴格的整體和部分的關系,部分和整體的生命周期一樣。示例中鳥和其翅膀就是組合關系,因為他們是部分和整體的關系,并且翅膀和鳥的生命周期一樣。

UML類圖詳解

另外還有依賴關系,就像動物依賴于空氣和水一樣。依賴關系用虛線箭頭來表示。

UML類圖詳解

 程式設計是一門技術,更是一門藝術,努力吧!

繼續閱讀