UML 類圖 1 類圖的結構 用動物園的類圖結構來舉例,先抽象化動物類如圖所示: 一個類圖包括類名、屬性和行為,類名不用解釋,在介紹屬性和行為前,先瞭解一下訪問許可權: ‘ - ’ private:只有類內部的成員才能訪問 ‘ + ’ public:類內部和類外部都能訪問 ‘ # ’ protecte ...
UML 類圖
1 類圖的結構
用動物園的類圖結構來舉例,先抽象化動物類如圖所示:
一個類圖包括類名、屬性和行為,類名不用解釋,在介紹屬性和行為前,先瞭解一下訪問許可權:
-
‘ - ’ private:只有類內部的成員才能訪問
-
‘ + ’ public:類內部和類外部都能訪問
-
‘ # ’ protected:類內部和它的子類才能訪問
-
‘ ~ ’ package/default:同一個包中任何其它的類都能訪問
屬性以” -name:string“為例,' - '表示訪問許可權為private,'name'是屬性名,'string'是屬性name的數據類型。
行為以”-eat():bool“為例,' - '表示訪問許可權為private,'eat'是行為名,'bool'是行為eat的返回值。
2 類之間的關係
- ' —▷ ' Inheritance,繼承
- ' — ' Association,聯合
- ' —◇ ' Aggregation,聚合:表示整體和部分關係,而且部分可以脫離整體存在,類之間沒有強的生命周期依賴
- ' —◆ ' Composition,組合:表示整體和部分關係,而且部分不能脫離整體存在,有強的生命周期依賴,一個類被刪了,組合的類也隨之被刪了
此外,多重性指在類之間關係連接上的數字,表示它們之間的數量約束,如1表示只能有一個,1...*表示有一到多個。
3 讀類圖
看到類圖,我們先看清有什麼類,再看類之間的關係和多重性,從而理解整個類圖的結構和各個屬性和行為的含義。
在這個類圖中,首先看到User用戶類,它有4個屬性和一個方法,用來實現用戶的登錄。
隨後是Administrator管理員類和Customer顧客類,它們都是User的子類,繼承User所有的屬性和方法,同時也有自己特定的屬性和方法,比如Administrator可以updateCatalog更新目錄。
再看Customer類,有Shopping Cart購物車類和Order訂單類和它組合,意味著若Customer類被銷毀,那麼Shopping Cart類和Order類也將消失,它們不能獨立存在於Customer外部。Customer可以有任意個(0...*)Shopping Cart和Order,但Shopping Cart和Order只能有一個Customer。
最後看Order類,Shipping info發貨信息類和Order Details訂單詳情類也和它組合,Order只能有一個Shipping info和一個Order Details,Shipping info和Order Details也只能有一個Order。