天天看點

設計模式-UML關系基礎類之間的關系時序圖

設計模式-UML關系基礎

UML關系基礎

類之間的關系

泛化

類在繼承中表現為泛化和實作。

繼承關系為is-a的關系,兩個對象之間用is-a表示為繼承關系。

eg,自行車是車,貓是動物。

泛化關系用空心箭頭表示

如下圖。

A繼承自B

設計模式-UML關系基礎類之間的關系時序圖

用空心箭頭表示A繼承自B

泛化關系表示為繼承抽象類。

抽象類可以繼承一個具體的類的。

抽象類可以被實體類繼承

抽象類可以被其他抽象類繼承

實作關系

實作關系用空心箭頭表示。

即指向C++中的抽象類(通過純虛函數實作),java中的接口,表示實作關系。

即,無法直接定義對象的都被成為抽象類。
設計模式-UML關系基礎類之間的關系時序圖

即,在上方中A繼承自抽象類B

聚合關系

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

A聚合到B上,B由A組成。

聚合關系表示實體對象之間的關系,表示整體由部分構成的語義。

一個部門由多個員工組成。為聚合關系。

與組合關系的差別,不是強依賴關系。即使整體不存在,部分依舊存在。

部門撤銷,人員不會消失,依舊存在。

設計模式-UML關系基礎類之間的關系時序圖

組合關系

組合關系用帶實心的菱形箭頭表示。

A組成B,B由A組成。

組合關系強調強依賴的聚合關系。

整體不存在,則部分也将不存在。

公司不存在,那麼部門也将不存在。

設計模式-UML關系基礎類之間的關系時序圖

關聯關系

關聯關系用一條直線表示,描述不同類的對象之間的結構關系。

一種靜态關系。

通常與運作狀态無關。

用于定義對象之間,天然的,靜态的結構。

乘車人和車票屬于關聯關系,學生和學校屬于關聯關系。

關聯關系預設不強調方向。如果強調方向,則A知道B,但是B不知道A

設計模式-UML關系基礎類之間的關系時序圖

用成員變量來實作

依賴關系

用帶箭頭的虛線表示兩者之間的依賴關系。

A依賴B,描述一個對象在運作期間會用到另外一個對象的關系。

依賴關系展現在類的構造方法,以及類的方法的傳入參數。箭頭指向為調用關系。

依賴關系能讓對象知道,還能使用對方的方法和屬性。

設計模式-UML關系基礎類之間的關系時序圖

時序圖

展示對象之間的互動細節,使用時序圖。

時序圖有對象,生命線,控制焦點,消息。

www.iming.info