簡明UML類圖教程
阿新 • • 發佈:2020-08-03
參考連結:10 分鐘學會 UML 類圖
UML整個系統比較複雜,但通常,我們自己些程式碼,只會用到最簡單的類圖,簡要的筆記如下。
假設我們要設計一個動物園系統,裡面最基本的組成部分,每個動物都是Animal
類:
那麼怎麼抽象這個類呢,通過相應的屬性和方法來模擬:
這些屬性/方法主要有三種許可權:
private(-)
:在類的外部無法被訪問(即使是它的子類、或者通過類.私有
進行訪問 )protected(#)
:在子類中可以訪問;public(+)
:任何地方都可以訪問它們;
除此之外,不同類之間主要有4種關係(有且僅有):
繼承:海龜繼承動物類,其中一種關係(海龜是動物類的一種);
關聯:狗類吃食物類,兩者沒有依賴關係,可以互相獨立存在;
聚合:說明整體、部分,一群烏龜軍團,army軍隊,單個烏龜,依然可以單獨成立;
組合:遊客中心跟廁所的關係,訪客大廳由廁所、售票處等組成,遊客中心沒有廁所就不完整,不能單獨存在;
除此之外,我們還需要對它們之間的數量關係進行約束,也稱為多重性數字約束。例如:一個訪客大廳類只能有一個售票處,但是廁所要好幾個。將約束關係寫為m..n
:
需要說明的是,數字約束關係是互相的,比如說:購物網站裡一個使用者可以有多個訂單類,但一個訂單類只能由一個使用者擁有。
舉例,一個購物網站的架構:
此外,對於組合關係來說,被組合的物件是不能單獨存在的,比如,當訂單類被銷燬後,相應的購物類也會被同時摧毀:
在寫程式碼之前,先不要著急寫,在draw.io在把整個類圖的框架、互動關係、流程圖畫好,寫程式碼會容易地多。