類別圖
| UML图 |
|---|
| UML 结构图 |
| UML 行为图 |
類別圖是軟件工程的統一建模語言(UML)一種靜態結構圖,該圖描述了系統的類別集合,類別的屬性和類別之間的關係。
目录 |
概述[编辑]
類別圖是物件導向式的建模。他們一般都被用於概念建模(conceptual modelling)的系統分類的應用程序,並可將模型建模轉譯成程式碼。
- 最上面是類別名稱
- 中間部分包含類別的屬性
- 底部部分包含類別的方法
為了進一步描述系統的行為,這些類圖可以輔之以狀態圖或UML狀態機。
成員[编辑]
UML提供機制,以代表類的成員,如屬性和方法,對他們的其他信息。
指定一個類成員的可見性(即任何屬性或方法)有下列符號,必須擺在各成員的名字之前。
+ 公共 - 私有 # 受保护 ~ 包 / 继承 下划线 静态
關係[编辑]
實例層級的關係[编辑]
外部鏈接[编辑]
外部鏈接(External links)是物件之間的基本關係。
關聯[编辑]
一個關聯(Association)代表一個家族的聯繫。
關聯可以命名,並結束一個關聯可以飾以角色名稱,所有權指標,多重性,可視性,以及其他屬性。目前定義有五種不同類型的關聯。雙向(Bi-directional)和單向(uni-directional)的關聯是最常見的。
聚合[编辑]
聚合(Aggregate)是组成關係,但子類別是可以不依靠父類別而存在的,例如教授與課程就是一種聚合關係。聚集可能不涉及兩個以上的類別。圖形以空心的菱形作代表。
組成[编辑]
组成(Composition)關係,子類別是必須依靠父類別而存在的,例如公司与公司部门就是一種組成關係。圖形以實心的菱形作代表。
关联、組成和聚集之差異[编辑]
当一个类作为另一个类某个方法的参数时,为关联。[1]
两者的差别主要描述了子类的生命周期的不同。组合关系中,一旦父类被销毁子类也会随之销毁;聚合关系中,子类的生命周期与父类独立。[2]
類別層級的關係[编辑]
概括[编辑]
概括(Generalization),是指類別與類別之間的共通性,通常會具有繼承(inherit)的關係。用實線和空心箭頭來表示。
實現[编辑]
UML建模時,一個實現(realization)關係是兩個模型元素之間的關係,其中一個模型元素(客戶端)實現的行為,其他模型元素(供應商)指定。
一般關係[编辑]
依賴[编辑]
依賴(Dependency)是一種弱化形式的關係,表示一類別依賴於另外的類別,因為類別在某個時間點使用另一個類別。
多重[编辑]
關聯多重性(Multiplicity)是用來定義參與物件數量,每個參與類別都必須指定多重性值,例如class A 會有多少個instance與class B 的多少個instance關連在一起,在現實生活中,一個汽車駕駛與汽車個數就是多重關係,可以是一對多,或是多對多。
参考文献[编辑]
- ^ UML中关联,聚合,组合的区别. [2012-02-20].
- ^ UML 基础: 类图. [2012-02-20].
外部連結[编辑]
- Introduction to UML 2 Class Diagrams
- UML 2 Class Diagram Guidelines
- IBM Class diagram Introduction
- OMG UML 2.2 specification documents
| 統一建模語言 (UML) () |
|
| 背景 |
|
|
機構: Object Management Group (OMG) • UML Partners |
|
| 概念 |
|
|
物件導向: 物件導向的程式設計 結構: 執行者 • 屬性 • 類 • 元件 • 接口 • 對象 • 包 行為: 活動 • 事件 • 訊息 • 方法 • 操作 • 狀態 • 用例 |
|
| 圖 | |
| 主題 | |
| 角色 | 時機,間隔 |
| 描述 | 哪一方,地點,事件 |
| 工具 | |
