uml類圖

uml類圖

在畫類圖的時候,理清類和類之間的關係是重點。類的關係有泛化(Generalization)、實現(Realization)、依賴(Dependency)和關聯(Association)。關聯又分爲一般關聯關係和聚合關係(Aggregation),合成關係(Composition)。

類與類之間由弱到強關係是:
沒關係 > 依賴 > 關聯 > 聚合 > 組合。

基本概念

類圖(Class Diagram): 類圖是面向對象系統建模中最常用和最重要的圖,是定義其它圖的基礎。類圖主要是用來顯示系統中的類、接口以及它們之間的靜態結構和關係的一種靜態模型。
這裏寫圖片描述
在UML類圖中,類一般由三部分組成:

  1. 第一部分是類名:每個類都必須有一個名字,類名是一個字符串。

  2. 第二部分是類的屬性(Attributes):屬性是指類的性質,即類的成員變量。

    UML規定屬性的表示方式爲:

      可見性 名稱:類型 [ = 缺省值 ]
    
    • “可見性”表示權限修飾符,包括public(+)、private(-)、protected(#)
    • “名稱”表示屬性名,字符串表示。
    • “類型”表示屬性的數據類型,可以是基本數據類型,也可以是用戶自定義類型。
    • “缺省值”是一個可選項,即屬性的初始值。
  3. 第三部分是類的操作(Operations):是類的成員方法。

    UML規定操作的表示方式爲:

    可見性 名稱(參數列表) [ : 返回類型]
    
    • ”可見性”的定義與屬性的可見性定義相同。
    • “名稱”即方法名,用一個字符串表示。
    • “參數列表”表示方法的參數,其語法與屬性的定義相似,參數個數是任意的,多個參數之間用逗號“,”隔開。
    • “返回類型”是一個可選項,表示方法的返回值類型,依賴於具體的編程語言,可以是基本數據類型,也可以是用戶自定義類型,還可以是空類型(void),如果是構造方法,則無返回類型。

泛化(generalization)

表示is-a的關係,是對象之間耦合度最大的一種關係,子類繼承父類的所有細節。直接使用語言中的繼承表達。
方向:單向;子類繼承父類;
圖示:空心箭頭 + 實線;箭頭指向父類;
這裏寫圖片描述

實現(Realization)

在類圖中就是接口和實現的關係。
方向:單向;子類實現接口;
圖示:空心箭頭 + 虛線;箭頭指接口向接口;
這裏寫圖片描述

依賴(Dependency)

對象之間最弱的一種關聯方式,是臨時性的關聯。代碼中一般指由局部變量、函數參數、返回值建立的對於其他對象的調用關係。一個類調用被依賴類中的某些方法而得以完成這個類的一些職責。僅僅描述了類與類之間的一種使用與被使用的關係;比如漁民和天氣之間的關係。下圖表示登錄頁和主頁的關係,登錄成功才能跳轉主頁
方向:單向;
圖示:虛線 + 箭頭;
這裏寫圖片描述

關聯(Association)

對象之間一種引用關係,比如客戶類與訂單類之間的關係。一般通過成員變量來實現。關聯又分爲一般關聯、聚合關聯與組合關聯。
方向:雙向或單向;
圖示:實線 + 箭頭;箭頭指向被關聯的類;
這裏寫圖片描述

聚合(Aggregation)

表示has-a的關係,是一種不穩定的包含關係。較強於一般關聯,有整體與局部的關係,並且沒有了整體,局部也可單獨存在。如公司和員工的關係,公司包含員工,但如果公司倒閉,員工依然可以換公司。
方向:單向;
圖示:空心菱形 + 實線 + 箭頭;箭頭指向被聚合的類,也就是說,箭頭指向個體/部分;
這裏寫圖片描述

組合(Composition)

表示contains-a的關係,是一種強烈的包含關係。組合類負責被組合類的生命週期。是一種更強的聚合關係。部分不能脫離整體存在。如公司和部門的關係,沒有了公司,部門也不能存在了;一個人由頭、四肢、等各種器官組成。
方向:單向;
圖示:空心菱形 + 實線 + 箭頭;箭頭指向被聚合的類,也就是說,箭頭指向個體/部分;
這裏寫圖片描述

對比總結

1、依賴是一種弱關聯,也可說是一種偶然的關係,而不是必然的關係。關聯是類之間的一種必然關係。

2、聚合跟組合都屬於關聯, 它們只是兩種特殊的關聯

3、在網上介紹聚合的文章裏面,lz見過下面兩種不同圖示。這兩種應該都一樣,推薦使用A圖示。組合圖示同理。
這裏寫圖片描述

下面是processon上的類圖模板
https://www.processon.com/
這裏寫圖片描述

本文參考自:http://www.uml.org.cn/oobject/201104212.asp

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