0,
主要分為類、接口、協作、關系,這四種元素。
作用:a,顯示類、接口以及他們之間的靜態結構和關系;b,用於描述系統的結構化設計。
1,類
CStudent |
+m_strName : string |
+Study() : void |
類名:
屬性:[可見性]屬性名 [:類型] [=初試值] [{屬性字符串}]
操作:[可見性]操作名[(參數表)] [:返回類型] [{屬性字符串}]
+(public), -(private), #(protected), ~(package)
2,接口
<<interface>> |
+Eat() : void |
接口是對對象行為的描述,一個類可有一個或多個接口。
3,協作
在一定的語境中一組對象以及實現某些行為的對象間的相互作用。
4,關系
1),泛化Generalization
a,是一種繼承關系,它指定子類如何特例化父類的所有特征和行為。
b,用帶空心箭頭的實線表示,箭頭指向父類。
2),實現Realization
a,是一直類與接口的關系,表示類是接口所有特征和行為的實現。
b,用帶空心的虛線表示,箭頭指向接口。
3),關聯Association
3.1)、一般關聯
a,類與類直接的聯結,它使一個類知道另一個類的屬性和方法,指明了事物對象間的聯系。
b,用帶箭頭的實線表示。雙向關聯兩邊都無箭頭,單向關聯有一個箭頭。
c, 在每個端點可以有一個基數, 表示這個關聯的類可以有幾個實例。
0..1:0 或1 個實例.
0..*: 對實例的數目沒有限制.
1: 只能有一個實例.
1..*: 至少有一個實例.
d,表現在代碼層面,為被關聯類B以類屬性的形式出現在關聯類A中,也可能是關聯類A引用了一個類型為被關聯類B的全局變量。
3.2)、聚合Aggregation
a,整體與部分的關系,且部分可以離開整體單獨存在。聚合屬於關聯中的一中,是強關聯關系。
b,用帶空心菱行實線表示,菱形指向整體。
3.3)、組合Composition
a, 整體與部分的關系,且部分不能離開整體單獨存在。是比聚合還強的關系。它要求整體對象負責其中部分對象的生命周期。
b, 用帶實心菱行實線表示,菱形指向整體。
5,依賴Dependency
a, 元素A的變化會影響元素B,那么B是A的依賴關系。避免雙向依賴,關聯、實現、泛化都是依賴關系。
b, 帶虛線的箭頭表示,箭頭指向被依賴元素。
6,