1. 程式人生 > >UML之類圖詳解

UML之類圖詳解

原文連結:https://www.cnblogs.com/xsyblogs/p/3404202.html

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

 

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

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

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

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

類和介面之間的實現關係用虛線+空心三角形表示,如下圖,表示實現介面。

關聯用實線箭頭表示。

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

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

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