1. 程式人生 > 實用技巧 >簡明UML類圖教程

簡明UML類圖教程

參考連結:10 分鐘學會 UML 類圖

UML整個系統比較複雜,但通常,我們自己些程式碼,只會用到最簡單的類圖,簡要的筆記如下。

假設我們要設計一個動物園系統,裡面最基本的組成部分,每個動物都是Animal類:

那麼怎麼抽象這個類呢,通過相應的屬性和方法來模擬:

這些屬性/方法主要有三種許可權:

  • private(-):在類的外部無法被訪問(即使是它的子類、或者通過 類.私有進行訪問 )
  • protected(#):在子類中可以訪問;
  • public(+):任何地方都可以訪問它們;

除此之外,不同類之間主要有4種關係(有且僅有):

繼承:海龜繼承動物類,其中一種關係(海龜是動物類的一種);

關聯:狗類吃食物類,兩者沒有依賴關係,可以互相獨立存在;

聚合:說明整體、部分,一群烏龜軍團,army軍隊,單個烏龜,依然可以單獨成立;

組合:遊客中心跟廁所的關係,訪客大廳由廁所、售票處等組成,遊客中心沒有廁所就不完整,不能單獨存在;


除此之外,我們還需要對它們之間的數量關係進行約束,也稱為多重性數字約束。例如:一個訪客大廳類只能有一個售票處,但是廁所要好幾個。將約束關係寫為m..n

需要說明的是,數字約束關係是互相的,比如說:購物網站裡一個使用者可以有多個訂單類,但一個訂單類只能由一個使用者擁有。


舉例,一個購物網站的架構:

此外,對於組合關係來說,被組合的物件是不能單獨存在的,比如,當訂單類被銷燬後,相應的購物類也會被同時摧毀:

在寫程式碼之前,先不要著急寫,在draw.io在把整個類圖的框架、互動關係、流程圖畫好,寫程式碼會容易地多。