en_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

掌握UML類圖:語法與範例

UML類圖通常是物件導向設計的起點。它捕捉了系統的詞彙——類別、它們的屬性、它們的行為,以及將它們聯繫在一起的關係。無論你是繪製概念模型,還是構建詳細的實作藍圖,理解類圖的語法都是不可或缺的。

本指南將逐步介紹關鍵符號、主要關係類型,以及能將UML與日常設計問題連結的明確範例。

類圖所代表的內容

類圖描述靜態結構。與行為圖不同,它不著重於流程或時間。相反地,它說明系統是如何組織的:

  • 有哪些類別存在
  • 它們儲存哪些資料
  • 它們執行哪些操作
  • 它們之間是如何相互連接的

它是許多UML模型的骨幹,因為它以視覺化且結構化的方式形式化了物件導向的思考。

類圖語法:基本要點

類別符號

類別以矩形繪製,最多可分為三個區段:

  1. 類別名稱(必要)
  2. 屬性(可選)
  3. 操作(可選)

範例:

屬性

屬性描述物件的狀態。

語法:

可見性名稱 : 類型 = 預設

可見性符號:

  • + 公開
  • - 私有
  • # 保護

範例:

Attributes-example

運算

運算代表類別所提供的行為或服務。

語法:

可見性 名稱(參數清單) : 回傳類型

範例:

Operations example

類別圖中的關係類型

類別圖的威力來自於類別之間的連結。最常見的關係類型描述了物件之間如何互動或相互依賴。

關聯

關聯顯示類別之間的結構性連結。

  • 可包含角色, 多重性,或導航性.
  • 代表穩定且長期的連結。

範例:
一個 客戶下了很多 訂單.

客戶 1 ----- * 訂單

聚合

聚合表示一種「整體-部分」關係,其中部分可以獨立存在。

以一個 空心菱形標示在整體的一側。

範例:
一個 隊伍擁有多名 球員但球員可以在隊伍之外存在。

組合

一種更強的聚合形式,其中部分的生命週期依賴於整體。

以一個 實心菱形.

範例:
一個 訂單包含 訂單項目 項目,移除訂單也會移除所有其項目。

泛化(繼承)

顯示一個類別延伸另一個類別。

  • 箭頭指向父類別。
  • 用於共享屬性和多態行為。

範例:
儲蓄帳戶帳戶

依賴

表示一個類別暫時使用或依賴另一個類別(例如參數)。

通常以虛線箭頭表示。

實作

當類別實作介面時使用。


實用的物件導向範例

以下是簡單但真實的場景,展示類別圖語法在實際設計工作中的呈現方式。

範例:電子商務訂購系統

類別:

  • 顧客
  • 訂單
  • 訂單項目
  • 產品

關鍵關係:

  • 顧客 建立 訂單(關聯)
  • 訂單 組成 訂單項目(組成)
  • 訂單項目 指的是 產品(關聯)

此結構清楚地顯示:

  • 訂單明細項的所有權
  • 已訂購項目與產品資料之間的連結
  • 客戶在交易流程中的角色

範例:圖書館管理

類別:

  • 書籍
  • 副本
  • 會員
  • 借閱

關係:

  • 書籍 聚合 副本(副本的存在獨立於書籍的元資料)
  • 副本 組成 借閱(若無借出的副本,借閱便不存在)
  • 會員 借閱 借閱(關聯)

此模型將書籍的抽象概念與實體副本分開。

為什麼類圖很重要

類圖在UML中仍處於核心地位,因為它們能幫助你:

  • 在編碼前釐清物件導向結構
  • 釐清責任與界限
  • 偵測遺漏的概念或過於複雜的設計
  • 有效傳達技術概念
  • 保持文件與實作一致

無論您經常或偶爾使用 UML,掌握類圖符號都有助於建立更強健的設計。

如需進一步了解 UML 及人工智慧如何支援其視覺化,請參考我們的UML 資源中心.