UML簡介


  在學習設計模式的時候UML圖是必須要了解的。

  UML:統一建模語言(Unified Modeling Language)

UML主要包括如下圖:

  其中,案例圖、類圖和序列圖是最有用的。

 

如下面的解釋可以深入理解類圖的關系:

 

 (1)類class的解釋:

  如圖的"動物"框,它就代表一個類。類圖分為三層,第一層顯示類的名稱,如果是抽象類,則用斜體表示。第二層是類的特性,通常就是字段和屬性。第三層就是類的操作,通常是行為和方法。注意前面的符號,"+" 表示public ,"-" 表示private,"#"表示friendly (默認值,本包可見)。,

  

(2)接口

  如圖左下角的"飛翔"就是一個接口。接口與類的區別是頂端有<<interface>>。第一層是接口名稱,第二層是接口方法(這種是不贊成在接口中定義屬性)

 

補充:接口還有另外一種表示方法,在PowerDesigner中的接口是在名稱區加一個帶橫杠的三角,如下:

 

(3)繼承關系:空心三角形+實線表示

 

(4)實現關系:空心三角形+虛線表示

 

(5)關聯關系:當一個類知道另一個類時就需要用關聯(association),關聯用實線箭頭表示。

  企鵝需要知道天氣的變化。

 

在代碼中表現為:關系對象出現在實例變量中。

 

(6)聚合關系:用空心的棱形+實心箭頭表示

  看大雁與雁群的關系。大雁是群居動物,每個大雁都屬於一個雁群,一個雁群可以有多個大雁。所以說他們滿足聚合關系(Aggretation)。聚合是一種弱的"擁有關系",體現的是A可以包含B,但B不是A對象的一部分。

在代碼中表現為:關系對象出現在實例變量中。

 

(7)組合(合成)關系:用實心的棱形+實心箭頭表示

   組合關系是一種強的擁有關系,體現了嚴格的部分和整體的關系,部分和整體的生命周期一樣。比如鳥和雞翅的關系,其生命周期是一樣的。連線兩端有基數,如下表示一個鳥有2個翅膀。關聯關系、聚合關系也可以有基數。

 

 在代碼中表現為:關系對象出現在實例變量中。

 

 (8)依賴關系:虛線+箭頭表示

  動物依賴於洋氣和水,因此形成依賴關系。

  

在代碼中表現為:關系對象出現在局域變量或者方法的參量里;或者關系類的靜態方法被調用等。

 

注意:(1)關聯關系、聚合關系和合成關系不能從java語法上表現出來。(2)關聯關系常常可以進一步說明為聚合關系或者合成關系,因此上面關聯關系和合成關系的實現是一樣的。

 

   編程是一門技術,更是一門藝術。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM