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,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/548655.html
標籤:面向對象
上一篇:專案中如何對XSS統一處理
下一篇:聊聊微服務架構思想
