設計模式-UML關係基礎
設計模式-UML關係基礎
UML關係基礎
類之間的關係
泛化
類在繼承中表現為泛化和實現。
繼承關係為is-a的關係,兩個物件之間用is-a表示為繼承關係。
eg,自行車是車,貓是動物。
泛化關係用空心箭頭表示
如下圖。
A繼承自B
用空心箭頭表示A繼承自B
泛化關係表示為繼承抽象類。
抽象類可以繼承一個具體的類的。
抽象類可以被實體類繼承
抽象類可以被其他抽象類繼承
實現關係
實現關係用空心箭頭表示。
即指向C++中的抽象類(通過純虛擬函式實現),java中的介面,表示實現關係。
即,無法直接定義物件的都被成為抽象類。
即,在上方中A繼承自抽象類B
聚合關係
用帶空心的菱形箭頭的直線表示
A聚合到B上,B由A組成。
聚合關係表示實體物件之間的關係,表示整體由部分構成的語義。
一個部門由多個員工組成。為聚合關係。
與組合關係的區別,不是強依賴關係。即使整體不存在,部分依舊存在。
部門撤銷,人員不會消失,依舊存在。
組合關係
組合關係用帶實心的菱形箭頭表示。
A組成B,B由A組成。
組合關係強調強依賴的聚合關係。
整體不存在,則部分也將不存在。
公司不存在,那麼部門也將不存在。
關聯關係
關聯關係用一條直線表示,描述不同類的物件之間的結構關係。
一種靜態關係。
通常與執行狀態無關。
用於定義物件之間,天然的,靜態的結構。
乘車人和車票屬於關聯關係,學生和學校屬於關聯關係。
關聯關係預設不強調方向。如果強調方向,則A知道B,但是B不知道A
用成員變數來實現
依賴關係
用帶箭頭的虛線表示兩者之間的依賴關係。
A依賴B,描述一個物件在執行期間會用到另外一個物件的關係。
依賴關係體現在類的構造方法,以及類的方法的傳入引數。箭頭指向為呼叫關係。
依賴關係能讓物件知道,還能使用對方的方法和屬性。
時序圖
展示物件之間的互動細節,使用時序圖。
時序圖有物件,生命線,控制焦點,訊息。
www.iming.info