天天看點

設計模式 | 第2章 UML類圖前言1. 依賴關系 Dependence2. 泛化關系 Generalization3. 實作關系 Implementation4. 關聯關系 Association5. 聚合關系 Aggregation6. 組合關系 Composition最後

第2章 UML類圖

  • 前言
  • 1. 依賴關系 Dependence
    • 1.1 概述
    • 1.2 圖示
  • 2. 泛化關系 Generalization
    • 2.1 概述
    • 2.2 圖示
  • 3. 實作關系 Implementation
    • 3.1 概述
    • 3.2 圖示
  • 4. 關聯關系 Association
    • 4.1 概述
    • 4.2 圖示
  • 5. 聚合關系 Aggregation
    • 5.1 概述
    • 5.2 圖示
  • 6. 組合關系 Composition
    • 6.1 概述
    • 6.2 圖示
  • 最後

前言

資料來源:B站,尚矽谷Java設計模式;

UML——Unified modeling language UML (統一模組化語言),是一種用于軟體系統分析和設計的語言工具,它用于幫助軟體開發人員進行思考和記錄思路的結果;

UML本身是一套符号的規定,就像數學符号和化學符号一樣,這些符号用于描述軟體模型中的各個元素和他們之間的關系,比如類、接口、實作、泛化、依賴、組合、聚合等;

UML圖的分類:

  • 用例圖(use case);
  • 靜态結構圖:類圖、對象圖、包圖、元件圖、部署圖;
  • 動态行為圖:互動圖(時序圖與協作圖)、狀态圖、活動圖;

本章重點僅總結類圖:

UML類圖用于描述系統中的類(對象)本身的組成和類(對象)之間的各種靜态關系。

類之間的關系有依賴、泛化(繼承)、實作、關聯、聚合與組合;

1. 依賴關系 Dependence

1.1 概述

  • 隻要是在類中用到了對方,那麼他們之間就存在依賴關系。如果沒有對方,連編

    繹都通過不了;

  • 類中用到了對方;
  • 如果是類的成員屬性;
  • 如果是方法的傳回類型;
  • 是方法接收的參數類型;
  • 方法中使用到;

1.2 圖示

設計模式 | 第2章 UML類圖前言1. 依賴關系 Dependence2. 泛化關系 Generalization3. 實作關系 Implementation4. 關聯關系 Association5. 聚合關系 Aggregation6. 組合關系 Composition最後

2. 泛化關系 Generalization

2.1 概述

  • 泛化關系實際上就是繼承關系,其是依賴關系的特例;
  • 如果A類繼承了B類,我們就說A和B存在泛化關系;

2.2 圖示

設計模式 | 第2章 UML類圖前言1. 依賴關系 Dependence2. 泛化關系 Generalization3. 實作關系 Implementation4. 關聯關系 Association5. 聚合關系 Aggregation6. 組合關系 Composition最後

3. 實作關系 Implementation

3.1 概述

  • 實作關系實際上就是A類實作B接口,他是依賴關系的特例;

3.2 圖示

設計模式 | 第2章 UML類圖前言1. 依賴關系 Dependence2. 泛化關系 Generalization3. 實作關系 Implementation4. 關聯關系 Association5. 聚合關系 Aggregation6. 組合關系 Composition最後

4. 關聯關系 Association

4.1 概述

  • 關聯關系實際上就是類與類之間的聯系,他是依賴關系的特例;
  • 關聯具有導航性:即雙向關系或單向關系;
  • 關系具有多重性:如:“1”(表示有且僅有一個);“0…”(表示0個或者多個);“0,1”(表示0個或者1個);“n…m”(表示n到 m個都可以);“m…*”(表示至少m個);

4.2 圖示

設計模式 | 第2章 UML類圖前言1. 依賴關系 Dependence2. 泛化關系 Generalization3. 實作關系 Implementation4. 關聯關系 Association5. 聚合關系 Aggregation6. 組合關系 Composition最後

5. 聚合關系 Aggregation

5.1 概述

  • 聚合關系(Aggregation)表示的是整體和部分的關系,整體與部分可以分開;
  • 聚合關系常用成員變量形式;
  • 聚合關系是關聯關系的特例,是以他具有關聯的導航性與多重性。
  • 如:一台電腦由鍵盤(keyboard)、顯示器(monitor),滑鼠等組成;組成電腦的各個配件是可以從電腦上分離出來的,使用帶空心菱形的實線來表示;
  • 如果Mouse、Monitor和Computer是不可分離的,則更新為組合關系;

5.2 圖示

設計模式 | 第2章 UML類圖前言1. 依賴關系 Dependence2. 泛化關系 Generalization3. 實作關系 Implementation4. 關聯關系 Association5. 聚合關系 Aggregation6. 組合關系 Composition最後

6. 組合關系 Composition

6.1 概述

  • 組合關系也是整體與部分的關系,但是整體與部分不可以分開;
  • 組合關系常用new的方式構成;
  • 在程式中我們定義實體:Person、IDCard與Head,那麼 Head 和 Person 就是組合,IDCard 和 Person 就是聚合;
  • 但是如果在程式中Person實體中定義了對IDCard進行級聯删除,即删除Person時,連同IDCard一起删除,那麼IDCard 和 Person 就是組合了;

6.2 圖示

設計模式 | 第2章 UML類圖前言1. 依賴關系 Dependence2. 泛化關系 Generalization3. 實作關系 Implementation4. 關聯關系 Association5. 聚合關系 Aggregation6. 組合關系 Composition最後

最後

新人制作,如有錯誤,歡迎指出,感激不盡! 歡迎關注公衆号,會分享一些更日常的東西! 如需轉載,請标注出處!

設計模式 | 第2章 UML類圖前言1. 依賴關系 Dependence2. 泛化關系 Generalization3. 實作關系 Implementation4. 關聯關系 Association5. 聚合關系 Aggregation6. 組合關系 Composition最後