原文地址:UML 類圖介紹 博客地址:http://www.extlight.comhtml
類圖是描述類、接口以及類之間關係的圖。java
類圖經常使用來描述業務或軟件系統的組成、結構和關係程序員
類在 UML 中一般以實線矩形框表示。 矩形框中有若干分隔框,分別包含類名、屬性、行爲等元素。以下圖: web
類名:圖中藍色背景的字,若是字體爲斜體,表名該類爲抽象類 屬性:類名下邊的區域 行爲:屬性下邊的區域 可見性:屬性和行爲前邊的 "+"、"-" 和 "#"(圖中未標註) 分別表示 public、private 和 protectedide
接口的類圖表述與類大體相同,不一樣的是接口名要添加 Interface 標識,且行爲的可見性必須用 "+" 表示。以下圖: 字體
繼承是面嚮對象語言的三個特性之一。子類繼承父類,子類可使用父類全部非私有的屬性和方法,其UML類圖表示以下: ui
UML 類圖中繼承關係使用空心三角形+實線表示。spa
實現與繼承相似,實現類繼承接口中的方法,可是方法必須由實現類本身實現,其UML類圖表示以下: 3d
UML 類圖中實現關係使用空心三角形+虛線表示。code
指類與類之間的關係,它使得一個類知道另外一個類的屬性和方法。關聯能夠是雙向的,也能夠是單向的。
用 Java 代碼表示企鵝只存在在南極,與氣候有關係:
public class Penguin {
private Climate climate;
}
複製代碼
其UML類圖表示以下:
UML 類圖中關聯關係使用實線箭頭表示。
指類與類之間的聯接,依賴關係表示一個類依賴於另外一個類的定義。通常而言,依賴關係在Java語言中體現爲局域變量、方法的形參,或者對靜態方法的調用。
用 Java 代碼表示程序員工做須要用到電腦:
public class Programmer{
public void work(Computer computer) {
}
}
複製代碼
其UML類圖表示以下:
UML 類圖中依賴關係使用虛線箭頭表示。
關聯關係的一種,表示一種強的「擁有」關係,體現了嚴格的部分和總體的關係,部分和總體的生命週期同樣。
用 Java 表示每隻鳥都有翅膀:
public class Bird {
private Wing wing;
public Bird() {
wing = new Wing();
}
}
複製代碼
其UML類圖表示以下:
UML 類圖中組合關係使用實心菱形實線表示。
關聯關係的一種,表示一種弱的「擁有」關係,體現的是A對象能夠包含B對象,可是B對象不是A對象的一部分。
用 Java 代碼表示大雁是羣居動物,每隻大雁都屬於一個雁羣,一個雁羣能夠有多隻大雁:
public class WildGooseAggregate {
private List<WildGoose> wideGooses;
}
複製代碼
其UML類圖表示以下:
UML 類圖中聚合關係使用空心菱形實線表示。