用例子解釋的 UML 類圖關係

已發表: 2012-03-01

類圖是面向對象建模的主要構建塊,因此了解各種類圖關係以及它們如何影響您的解決方案非常重要。 我們在下面通過示例列出了它們。

Creately 通過顯示基於上下文的邏輯關係來簡化創建類圖。

創建類圖>>

類圖關係

類以特定的方式相互關聯。 特別是,類圖中的關係包括不同類型的邏輯連接。 以下是 UML 中可能的此類邏輯連接類型:

  • 協會
  • 定向協會
  • 反身聯想
  • 多樣性
  • 聚合
  • 作品
  • 繼承/泛化
  • 實現
類圖關係 (UML)
UML 類圖中的關係

協會

關聯 - 類圖中最常見的關係之一
協會

是一個廣義的術語,幾乎包含類之間的任何邏輯連接或關係。 例如,乘客和航空公司可以如上所述鏈接。

定向協會

UML 類圖中的有向關聯關係
定向協會

是指用帶箭頭的線表示的方向關係。 箭頭描繪了包含容器的定向流。

反身聯想

UML 類圖中的自反關聯關係
反身聯想

當一個類可能具有多個功能或職責時,就會發生這種情況。 例如,在機場工作的工作人員可能是飛行員、航空工程師、售票員、警衛或維修人員。 如果維護機組成員由航空工程師管理,則在同一類的兩個實例中可能存在由關係管理。

多樣性

UML 類圖中的多重性關係
多樣性

是描述一個類與另一個類的基數時的活動邏輯關聯。 例如,一個機隊可能包含多架飛機,而一架商用飛機可能包含零到多個乘客。 圖中的符號 0..* 表示“從零到多”。

聚合

聚合關係
聚合

指由於一個類被聚合或構建為一個集合而形成一個特定的類。 例如,“圖書館”類由一本或多本書籍以及其他材料組成。 在聚合中,包含的類並不強烈依賴於容器的生命週期。 在同一示例中,即使圖書館解散,書籍仍將保留。 要在圖表中顯示聚合,請在父類附近用菱形畫一條從父類到子類的線。

要在圖表中顯示聚合,請在父類附近用菱形畫一條從父類到子類的線。

作品

類圖中的組成關係
作品

組合關係與聚合關係非常相似。 唯一的區別是它的主要目的是強調包含的類對容器類的生命週期的依賴性。 也就是說,當容器類被銷毀時,包含的類將被刪除。 例如,一旦肩包被破壞,肩包的側袋也將不復存在。

要在 UML 圖中顯示組合關係,請使用連接兩個類的方向線,填充菱形與容器類相鄰,方向箭頭指向包含的類。

繼承/泛化

UML 類圖中的繼承關係
遺產

是指一種關係類型,其中一個關聯類是另一個類的子類,因為它假定父類具有相同的功能。 換句話說,子類是父類的特定類型。 為了在 UML 圖中顯示繼承,使用未填充的箭頭繪製從子類到父類的實線。

實現

UML類圖中的實現關係
實現

表示由另一個類在一個類中定義的功能的實現。 為了顯示 UML 中的關係,從定義實現該功能的類的功能的類中畫出一條帶有未填充實心箭頭的虛線。 在示例中,使用打印機設置界面設置的打印首選項由打印機實現。

使用 Creately 繪製類圖

在構建類圖表工具時,我們對關係進行了很多思考。 我們的連接器會根據上下文進行調整,並在連接類時僅顯示最合乎邏輯的關係。 這大大減少了你犯錯的機會。

創建類圖>>

從頭開始繪製可能很麻煩。 您可以使用我們專業設計的類圖立即開始。 瀏覽我們的類圖示例並選擇與您的系統密切相關的示例。

什麼是類圖?

類圖是面向對象建模的主要構建塊。 它們用於顯示系統中的不同對象、它們的屬性、它們的操作以及它們之間的關係。

下圖是一個簡單類的示例:

簡單類圖
帶有屬性和操作的簡單類圖

在示例中,描述了一個名為“貸款帳戶”的類。 類圖中的類由劃分為三個的框表示:

  1. 頂部分區包含類的名稱。
  2. 中間部分包含類的屬性。
  3. 底部分區顯示與該類關聯的可能操作。

該示例展示了一個類如何以非常系統和清晰的方式封裝特定對象的所有相關數據。 類圖是與上述類似的類的集合。

還有更多關於類圖關係的問題嗎?

我希望我已經清楚地解釋了類圖之間的各種關係。 它們並不像您想像的那麼複雜,可以通過一些練習來掌握。 並且通過使用我們的工具,您在製作類圖時應該不會遇到任何問題。 如果您還有其他問題,請隨時在評論部分提出。 此外,請查看此 UML 圖類型和示例指南以供進一步閱讀。

參考:

1. UML 基礎:類圖Donald Bell 介紹 UML 2 中的結構圖

2. 維基百科網站上發布的類圖

3. 發佈在 developer.com 網站上的 UML 類圖第 1 部分

4. Visual Case Tool中的類圖——在 Visual Case 網站上發布的 UML 教程

5. Sybase 網站上發布的關聯