UML常用符號

UML把類之間的關係分爲以下幾種:

 

1. 關聯(Association)

         類A和類B的實例之間存在着特定的對應關係。用一條實線來表示。

    例如圖書館的書與讀者之間的關係。

    註釋:(0..*)表示一個讀者可以借閱多本書,(0..1)表示一本書只能借給你個讀者

    

 

2.依賴(Dependency)。

         當類A(客戶)使用類B(服務者)的某個方法去完成某個功能,這種使用關係具有臨時性,偶然性,

         當類B的發生變化時,類A也會發生變化,這時我們稱A與B之間的關係是依賴關係。

         總而言之,他表示這樣一種情形,提供者的某些變化會要求或指示依賴關係中客戶的變化。

         根據這個定義,關聯和泛化都是依賴關係,但是它們有更特別的語義,故他們有自己的名字和詳細的語義。

         依賴關係用虛線箭頭表示。

         例如人騎自行車,人與自行車車之間的關係就屬於依賴關係。 因爲人使用自行車,人也可以使用汽車,

         所以說人與自行車之間的關係具有臨時性,自行車出毛病了也會影響到人的行爲(騎車這個行爲)。

         

 

3. 聚合(Aggregation)

         聚合體現的是整體與部分,擁有的關係,即has-a的關係,此時整體與部分之間是可分離的,

    他們可以有各自的生命週期,部分可以屬於多個整體對象,也可以爲多個整體對象共享,比如計算機

    與CPU,圖書館與圖書的關係等,表現在代碼層面上,和關聯關係是一致的,只能從語義級別來做區分。

    符號用帶空心菱形箭頭的實線表示

    圖例:

   

 

4.組合(Composite)

        組合同聚合一樣,也體現整體與部分之間的關係,也是關聯關係的一種特例,它體現的是contains-a的

   關係,這種關係比聚合更加強,亦稱爲強聚合。組合的整體和部分之間是不可分的,整體的生命週期結束也

   就意味着部分的生命週期結束。比如人和人的大腦;在代碼層面,和關聯關係是一致的,只能從語義級別來區分;

   圖例:

  

 

5.泛化(Generalization)

        泛化也就是繼承,主要是指一個類(子類,子接口)繼承了另外一個類(父類,父接口),並可以增加新功能。繼承應該是類與類,

   接口與接口之間最常見的關係。符號是用帶實線的空心三角符

   例圖:類ClassB繼承了類ClassA,接口InterfaceB繼承了接口InterfaceA.

  

 

6. 實現(Realization)

   主要指的是一個類去實現一個接口的功能。 用帶空心三角符的虛線表示。

   例圖:類ClassA實現接口InterfaceA

   

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章