UML基本介紹
UML(統一建模語言)是一種用於軟件系統分析和設計的語言工具,它用於幫助軟件開發人員進行思考和記錄思路的結果。
UML本身是一套符號的規定,就像數學符號和化學符號一樣,這些符號用於描述軟件模型中的各個元素和他們之間的關係,比如類、接口、實現、泛化、依賴、組合、聚合等。
UML類圖
- 用於描述系統中的類(對象)本身的組成和類(對象)之間的各種靜態關係
- 類之間的關係:依賴、泛化(繼承)、實現、關聯、聚合與組合
下面我們來講解六種關係:
依賴關係
只要是在類中用到了對方,那麼他們之間就存在依賴關係,如果沒有對方,連編譯都通過不了,以下幾種均是依賴關係:
- 類中用到了對方
- 類的成員屬性
- 方法的返回類型
- 方法接收的參數類型
- 方法中用到的
泛化關係
泛化關係實際上就是繼承關係,它是依賴關係的特例。
實現關係
實現關係實際上就是A類實現B類,它是依賴關係的特例
關聯關係
關聯關係實際上就是類與類之間的聯繫,它是依賴關係的特例。
關聯具有導航性:即雙向關係或單向關係。
關係具有多重性:如“1”(表示有且僅有一個),“0...”(表示0個或者多個),“0,1”(表示0個或者一個),“n...m”(表示n到m個都可以),“m...”(表示至少m個)。
聚合關係
聚合關係表示的是整體和部分的關係,整體與部分可以分開,聚合關係是關聯關係的特例,所以他具有關聯的導航性與多重性。
如:一臺電腦是由顯示器、鼠標等組成,組成電腦的各個配件是可以從電腦上分離出來的,使用帶空心菱形的實現來表示。
組合關係
組合關係也是整體與部分的關係,但是整體與部分不可以分開。
比如:在程序中我們定義實體,Person(人)與IDCard(身份證)、Head(頭),那麼Head(頭)和Person(人)就是組合,IDCard和Person就是聚合。
public class Person{
private IDCard card;
private Head head = new Head();
}
class IDCard{
}
class Head{
}
但是如果在程序中Person實體中定義了對IDCard進行級聯刪除,即刪除Person時聯通IDCard一起刪除,那麼IDCard和Person就是組合關係。