1. 程式人生 > 實用技巧 >UML-類之間的關係

UML-類之間的關係

前言:類與類之間都哪些互動關係呢?UML 統一建模語言中定義了六種類之間的關係。它們分別是:泛化、實現、關聯、聚合、組合、依賴

  1. 泛化(Generalization)可以簡單理解為繼承關係
    在這裡插入圖片描述
  2. 實現(Realization)一般是指介面和實現類之間的關係
    在這裡插入圖片描述
  3. 聚合(Aggregation)是一種包含關係,A 類物件包含 B 類物件,B 類物件的生命週期可以不依賴 A 類物件的生命週期,也就是說可以單獨銷燬 A 類物件而不影響 B 物件,比如課程與學生之間的關係
    在這裡插入圖片描述
  4. 組合(Composition)也是一種包含關係。A 類物件包含 B 類物件,B 類物件的生命週期跟依賴 A 類物件的生命週期,B 類物件不可單獨存在,比如鳥與翅膀之間的關係
    在這裡插入圖片描述
  5. 關聯(Association)是一種非常弱的關係,包含聚合、組合兩種關係。具體到程式碼層面,如果 B 類物件是 A 類的成員變數,那 B 類和 A 類就是關聯關係
    在這裡插入圖片描述
  6. 依賴(Dependency)是一種比關聯關係更加弱的關係,包含關聯關係。不管是 B 類物件是 A 類物件的成員變數,還是 A 類的方法使用 B 類物件作為引數或者返回值、區域性變數,只要 B 類物件和 A 類物件有任何使用關係,我們都稱它們有依賴關係
    在這裡插入圖片描述

優化:按照上面拆分有點太細,增加了學習成本,對於指導程式設計開發沒有太大意義。可以從更加貼近程式設計的角度,對類與類之間的關係做了調整,只保留了四個關係:泛化、實現、組合、依賴。其中,泛化、實現、依賴的定義不變,組合關係替代 UML 中組合、聚合、關聯三個概念,也就相當於重新命名關聯關係為組合關係,並且不再區分 UML 中的組合和聚合兩個概念。