UML類圖 UML類圖 是一種靜態的結構圖,描述了系統的類的集合,類的屬性和類之間的關係,可以簡化了人們對系統的理解。UML類圖 是系統分析和設計階段的重要產物,是系統編碼和測試的重要模型。 圖示 類 解析 圓角矩形框,它就代表一個類(Class) 類圖分為三層: 第一層顯示類的名稱,如果是抽象類, ...
UML類圖
UML類圖 是一種靜態的結構圖,描述了系統的類的集合,類的屬性和類之間的關係,可以簡化了人們對系統的理解。UML類圖 是系統分析和設計階段的重要產物,是系統編碼和測試的重要模型。
圖示
類
解析
圓角矩形框,它就代表一個類(Class)
類圖分為三層:
- 第一層顯示類的名稱,如果是抽象類,則就用斜體顯示
- 第二層是類的特性,通常就是欄位和屬性
- 第三層是類的操作,通常是方法或行為。
- 註意前面的符號:
- '+':表示public
- '-' :表示private
- '#':表示protected
- 註意前面的符號:
介面
解析
矩形框,頂端有<<interface
>>顯示,第一行是介面名稱,第二行是介面方法。
註意:介面還有另一種表示方法,俗稱棒棒糖表示法。比如下圖中的唐老鴨類就是實現了 "講人話"的介面。
UML關係
1. 繼承
描述:繼承關係用 空心三角形+實線 來表示
舉例:面向對象說過,繼承是一種 "is a " 的關係,鳥是動物中的一種
2. 實現
描述:實現介面用 空心三角形+虛線 來表示
舉例:大雁實現了 飛翔介面,定義大雁飛的方法
3. 關聯
描述:關聯關係用 實線箭頭 來表示
舉例:企鵝和氣候兩個類,企鵝是很特別的鳥,會游不會飛。更重要的是,它與 氣候 有很大的關聯。我們不去討論為什麼北極沒有企鵝,為什麼它們要每年長途跋涉。總之,企鵝需要知道 "氣候" 的變化,需要瞭解 "氣候" 規律。當一個類 "需要知道" 另一個類時,可以用關聯(association)關係表示。
4. 聚合
描述:聚合關係用 空心的菱形+實線箭頭 來表示
舉例:大雁是群居動物,每隻大雁都屬於一個雁群, 一個雁群可以有多只大雁。所以它們之間就滿足 聚合(Aggregation)關係。聚合表示一種弱的 "擁有" 關係,體現的是A對象可以包含B對象,但B對象不是A對象的一部分。
5. 組合
描述:組合關係用 實心的菱形+實線箭頭 來表示
舉例:組合是一種強的 "擁有" 關係,體現了嚴格的部分和整體的關係,部分和整體的生命周期一樣。鳥和其翅膀就是組合(合成)關係,因為它們是部分和整體的關係,並且翅膀和鳥的生命周期是相同的。
另外,你會註意到合成關係的連線兩端還有一個數字 '1' 和數字 '2' ,這被稱為基數。表明這一端的類可以有幾個實例,很顯然,一個鳥應該有兩隻翅膀。如果一個類可能有無數個實例,則就用'n'來表示。關聯關係、聚合關係也可以有基數
6. 依賴
描述:依賴關係(Dependency),用虛線箭頭來表示
舉例:動物要有生命力,需要氧氣、水以及食物等依賴