UML類圖是面向對象系統建模中最經常使用和最重要的圖,是定義其它圖的基礎。類圖主要是用來顯示系統中的類、接口以及它們之間的靜態結構和關係的一種靜態模型。數據結構
類、接口、關係,只簡單介紹一下這三種元素。spa
類是對具備相同屬性和行爲的對象,抽象出來的一種數據結構,是面向對象設計的核心結構。圖示以下:
設計
類名、屬性、行爲三部分組成。對象
描述行爲的集合。圖示以下:
繼承
接口名和操做兩部分組成。接口
注:<<接口名>>中的尖括號不必定非要有。如實現關係就一種,接口的泛化關係只是標識行爲沒有屬性。生命週期
類圖中的元素存在六種基本關係。分別是:實現,泛化,組合,聚合,關聯和依賴。ci
表示類對接口的實現操做,類具備接口的全部行爲。用帶有空心三角箭頭的虛線表示,箭頭指向接口。 實線圖示以下:
rem
類或接口之間的繼承,表示通用與具體的差別。用帶有空心三角箭頭的實線表示,箭頭指向父類。圖示以下:
字符串
總體與部分的關係,部分不能離開總體而單獨存在。總體和部分生命週期同樣,同生同死。用帶有實心菱形的實線表示,菱形指向總體。圖示以下:
總體與部分的關係,部分能夠離開總體而單獨存在。總體對部分只是有使用權。總體和部分的生命週期是獨立存在的。用帶空心菱形的實心線表示,菱形指向總體。圖示以下:
同級類之間的引用,彼此不存在包含關係,引用者知道被引用者的屬性和行爲。關聯能夠是雙向的,也能夠是單向的。在Java語言中,關聯關係通常使用成員變量來實現。
用帶普通箭頭的實心線表示,箭頭指向被引用者。圖示以下:
一個類的實現依賴另外一個類的數據。
帶箭頭的虛線,指向被使用者。圖示以下:
關係的強到弱順序:泛化 = 實現 > 組合 > 聚合 > 關聯 > 依賴。