1. 類(Class):使用三層矩形框表示。? 第一層顯示類的名稱,如果是抽象類,則就用斜體顯示。? 第二層是字段和屬性。? 第三層是類的方法。? 注意前面的符號(hào),‘+’表示public,‘-’表示private,‘#’表示protected。
2. 接口:使用兩層矩形框表示,與類圖的區(qū)別主要是頂端有<>顯示 。 ? 第一行是接口名稱。 ?第二行是接口方法。
3. 繼承類(extends) :用空心三角形+實(shí)線來表示。
4. 實(shí)現(xiàn)接口(implements) :用空心三角形+虛線來表示
5. 關(guān)聯(lián)(Association) :用實(shí)線箭頭來表示,例如:燕子與氣候
6. 聚合(Aggregation) :用空心的菱形+實(shí)線箭頭來表示 ? 聚合:表示一種弱的‘擁有’關(guān)系,體現(xiàn)的是A對(duì)象可以包含B對(duì)象,但B對(duì)象不是A對(duì)象的一部分,例如: 公司和員工
7.組合(Composition):用實(shí)心的菱形+實(shí)線箭頭來表示 ?組合:部分和整體的關(guān)系,并且生命周期是相同的。例如:人與手
8. 依賴(Dependency) :用虛線箭頭來表示,例如:動(dòng)物與氧氣
9. 基數(shù) :連線兩端的數(shù)字表明這一端的類可以有幾個(gè)實(shí)例,比如:一個(gè)鳥應(yīng)該有兩只翅膀。如果一個(gè)類 可能有無數(shù)個(gè)實(shí)例,則就用‘n’來表示。關(guān)聯(lián)、聚合、組合是有基數(shù)的。
類之間的關(guān)系 ? ? UML把類之間的關(guān)系分為以下5種.
● 關(guān)聯(lián):類A與類B的實(shí)例之間存在特定的對(duì)應(yīng)關(guān)系
● 依賴:類A訪問類B提供的服務(wù)
● 聚集:類A為整體類,類B為局部類,類A的對(duì)象由類B的對(duì)象組合而成
● 泛化:類A繼承類B
● 實(shí)現(xiàn):類A實(shí)現(xiàn)了B接口 ? 關(guān)聯(lián)(Association)
關(guān)聯(lián)指的是類之間的特定對(duì)應(yīng)關(guān)系,在UML中用帶實(shí)線的箭頭表示。按照類之間的數(shù)量對(duì)比,關(guān)聯(lián) ?可以分為以下三種:
● 一對(duì)一關(guān)聯(lián)
● 一對(duì)多關(guān)聯(lián)
● 多對(duì)多關(guān)聯(lián)
注意:關(guān)聯(lián)還要以分為單向關(guān)聯(lián)和雙向關(guān)聯(lián)
依賴(Dependency) ? ? 依賴指的是類之間的調(diào)用關(guān)系,在UML中用帶虛線的箭頭表示。如果類A訪問類B的屬性或者方法, ?或者類A負(fù)責(zé)實(shí)例化類B,那么可以說類A依賴類B。和關(guān)聯(lián)關(guān)系不同,無須在類A中定義類B類型的屬性。
聚集(Aggregation) ? ? 聚集指的是整體與部分之間的關(guān)系,在UML中用帶實(shí)線的菱形箭頭表示。 聚集關(guān)系還可以分為兩種類型:
●被聚集的子系統(tǒng)允許被拆卸和替換,這是普通聚集關(guān)系。
● 被聚集的子系統(tǒng)不允許被拆卸和替換,這種聚集稱為強(qiáng)聚集關(guān)系,或者組成關(guān)系。
注:強(qiáng)聚集(組成)可用帶實(shí)線的實(shí)心菱形箭頭表示。
泛化(Generalization)泛化指的是類之間的繼承關(guān)系,在UML中用帶實(shí)線的三角形箭頭表示。
實(shí)現(xiàn)(Realization)?實(shí)現(xiàn)指的是類與接口之間的關(guān)系,在UML中用帶虛線的三角形箭頭表示。
1.
2.
3.
4.
5.
6.
7.
8.
9.