UML類圖知識整理

 

UML類圖

UML,進階必備專業技能,看不懂UML就會看不懂那些優秀的資料。html

這裏簡單整理spa

類之間的關係

泛化關係(generalization)

  1. 泛化(generalize): 一條帶空心箭頭的線表示
  2. 實現(realize) : 一條帶空心箭頭的虛線表示

泛化在Java中表現爲繼承(extends) ,is-a的關係.net

實現在Android中表現爲implements 接口,或者extends抽象類code

依賴關係(dependency)

用一條帶箭頭的虛線表示;箭頭的指向爲調用關係htm

簡單來講,類A用到了類B,就能夠說A依賴於B對象

依賴關係是一種臨時性的偶然性的關係,一般在運行期間產生,而且隨着運行時的變化; 依賴關係也可能發生變化blog

代碼中的表現:好比方法的入參,構造方法的參數繼承

關聯關係(association)

一條直線表示接口

它描述不一樣類的對象之間的結構關係;體現的是兩個類、或者類與接口之間語義級別的一種強依賴關係ci

代碼中的表現:關聯對象一般是以成員變量的形式實現的

聚合關係(aggregation)

一條帶空心菱形箭頭的直線表示

聚合關係是關聯關係的特例,它用於表示實體對象之間的關係,表示總體由部分構成的語義;是has-a的關係;

例如一個部門由多個員工組成;

與組合關係不一樣的是,總體和部分不是強依賴的總體與部分之間是可分離的,即便總體不存在了,部分仍然存在;

例如, 部門撤銷了,人員不會消失,他們依然存在

組合關係(composition)

用一條帶實心菱形箭頭直線表示

組合關係是一種強依賴的特殊聚合關係,是contains-a的關係,比聚合更強,也稱爲強聚合,若是總體不存在了,則部分也不存在

注意點

  1. 聚合跟組合其實都屬於關聯
  2. 關係強度:組合>聚合>關聯>依賴

類的方法與屬性

類能夠擁有多個方法和屬性

屬性的表達方式:可見性 名稱:類型 [ = 缺省值 ]
方法的表達方式:可見性 名稱(參數列表) [ : 返回類型]

可見性:

  • + public
  • - private
  • # protected
  • ~ package

示例

另外:UML圖中的斜體表示抽象

示例

釋義:
ViewGroup是一個View,也是一個ViewParent,依賴於MotionEvent(在onTouch(MotionEvent)等方法)

釋義:

員工與工號相關聯,員工聚合成部門,部門組成公司。

部門解散了員工依然存在(因此是聚合),而公司倒閉,部門也就不存在了(因此是組成)。

資料

看懂UML類圖和時序圖
UML類圖關係
深刻淺出UML類圖

相關文章
相關標籤/搜索