1. 程式人生 > >UML中的依賴、關聯、泛化和實現以及各種符號含義

UML中的依賴、關聯、泛化和實現以及各種符號含義

 之間的關係

UML把類之間的關係分為以下5種.

● 關聯:類A與類B的例項之間存在特定的對應關係

● 依賴:類A訪問類B提供的服務

● 聚集:類A為整體類,類B為區域性類,類A的物件由類B的物件組合而成

● 泛化:類A繼承類B

● 實現:類A實現了B介面

關聯(Association)

關聯指的是類之間的特定對應關係,在UML中用帶實線的箭頭表示。按照類之間的數量對比,關聯

可以分為以下三種:

● 一對一關聯

● 一對多關聯

● 多對多關聯

注意:關聯還要以分為單向關聯和雙向關聯

依賴(Dependency)

依賴指的是類之間的呼叫關係,在UML中用帶虛線的箭頭表示。如果類A訪問類B的屬性或者方法,

或者類A負責例項化類B,那麼可以說類A依賴類B。和關聯關係不同,無須在類A中定義類B型別的屬性。

聚集(Aggregation)

聚集指的是整體與部分之間的關係,在UML中用帶實線的菱形箭頭表示。

聚集關係還可以分為兩種型別:

● 被聚集的子系統允許被拆卸和替換,這是普通聚集關係。

● 被聚集的子系統不允許被拆卸和替換,這種聚集稱為強聚集關係,或者組成關係。

注:強聚集(組成)可用帶實線的實心菱形箭頭表示。

泛化(Generalization)

泛化指的是類之間的繼承關係,在UML中用帶實線的三角形箭頭表示。

實現(Realization)

實現指的是類與介面之間的關係,在UML中用帶虛線的三角形箭頭表示。

以下是GOF設計模式中的描述

箭頭和三角表示子類關係。

虛箭頭線表示一個類例項化另一個類的物件,箭頭指向被例項化的物件的類。

普通的箭頭線表示相識(acquaintance也叫關聯或者引用),意味著一個物件僅僅知道另一個物件。相識的物件可能請求彼此的操作,但他們不為對方負責,它只標示了物件間較鬆散的耦合關係。

尾部帶有菱形的箭頭線表示聚合(aggregation),意味著一個物件擁有另一個物件或者對另一個物件負責。一般我們稱一個物件包含另一個物件,或者是另一個物件的一部分。聚合意味著聚合物件和其所有者具有相同的生命週期。   
          抽象類名以斜體表示,抽象操作也以斜體表示。圖中可以包括實現操作的虛擬碼,程式碼將出現在帶有褶角的框中,並用虛線將該褶角框與程式碼所實現的操作相連。