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