程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> UML 類圖,uml類圖

UML 類圖,uml類圖

編輯:JAVA綜合教程

UML 類圖,uml類圖


一、首先聲明一點,我 UML 類圖的學習是借鑒的 《大話設計模式》中的例子,僅僅是為了個人的學習,不涉及其他。

二、將大鳥講給小菜的 UML 類圖樣例貼上來。

三、說明:

1.類圖

第一層顯示的是類名,如果是抽象類,就用斜體表示。

第二層是類的特性,通常就是字段和屬性。

第三層是類的操作,通常是方法和行為。

注意:'+' 表示 public, '-' 表示 private,'#' 表示 protected。

2.接口圖

第一層是接口名稱

第三層是接口方法,如果為抽象方法的話,就用斜體表示。

3.接口的另一種表示方式:棒棒糖表示法。

如:唐老鴨講人話

4.類與類之間的關系

(1)繼承

        

繼承關系是用 空心三角形 + 實線來表示的。

表示is-a的關系,是對象之間耦合度最大的一種關系,子類繼承父類的所有細節。

如:動物、鳥、鴨、唐老鴨之間的關系。

(2)關聯關系

         

關聯用尖箭頭 + 實線來表示。當一個類“知道”另一個類時,可以用關聯。

如:企鵝需要“知道”氣候的變化,需要“了解” 氣候規律。

(3)聚合(Aggregation) 

         

聚合用空心的菱形 + 實線來表示。菱形從局部指向整體。

聚合表示一種弱的 “擁有”關系,體現的是 A 對象可以包含 B 對象,但 B 對象不是 A 對象的一部分。

表示 has-a 的關系,是一種不穩定的包含關系。較強於一般關聯,有整體與局部的關系,並且沒有了整體,局部也可單獨存在。

如公司和員工的關系,公司包含員工,但如果公司倒閉,員工依然可以換公司。

又如大雁是群居動物,每只大雁都是屬於一個雁群,一個雁群可以有多只大雁。

(4)組合(Composition)

          

組合用實體菱形 + 實線來表示,菱形從局部指向整體。

組合表示一種強的“擁有”關系,體現了嚴格的部分和整體關系,部分和整體的生命周期一樣。

表示 contains-a 的關系,是一種強烈的包含關系。組合類負責被組合類的生命周期。是一種更強的聚合關系。

如公司和部門的關系,沒有了公司,部門也不能存在了;調查問卷中問題和選項的關系;訂單和訂單選項的關系。

又如鳥和翅膀就是組合關系,它們是整體與部分的關系,並且翅膀和鳥的生命周期是相同的。

(5)依賴(dependency)

          

依賴用虛線箭頭來表示,箭頭從使用類指向被依賴的類。

依賴表示對象之間最弱的一種關聯方式,是臨時性的關聯。

(6)多重性(Multiplicity) 

通常在關聯、聚合、組合中使用。就是代表有多少個關聯對象存在。使用數字..星號(數字)表示。

如一只鳥有兩只翅膀。

5.類與接口之間的關系

實現接口

        

接口實現是用空心三角形 + 虛線來表示的。如大雁實現了飛翔的接口,唐老鴨實現了講人話的方法。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved