1.關聯
雙向關聯:C1-C2:都可以調用對方的公共屬性和方法。
雙向關聯在代碼的表現為雙方都擁有對方的一個指針,當然也可以是引用或者是值。
單向關聯:
C3->C4,;表示相識關系,指C3知道C4,C3可以調用C4的公共屬性和方法,沒有生命期的依賴,一般表示為一種引用。
單向關聯的代碼就表現在C3有C4的指針,而C4對C3一無所知。
自身關聯:自己引用自己,帶著一個自己的引用。
2.聚合、組合
當類之間有整體-部分關系的時候,我們可以使用組合或者聚合
聚合:表示C9聚合C10,但是C10可以離開C9而單獨存在
實心菱形加實線箭頭表示,C8被C7包容,而且C8不能離開C7而單獨存在。
3.依賴
C5可能要用到C6的一些方法,也可以這樣說,要完成C5的功能,需要C6的方法支持
4.泛化(繼承)
泛化關系:如果兩個類存在泛化的關系時就使用,例如父類跟子類,動物和老鼠,植物和花等。
5.模板
基本元素符號::
1.類:1.類名 ?2.屬性 ? 3.方法
屬性跟操作之間有一個可見性修飾符號,加號(+)表示公共可見性,(-)表示私有性(#)表示受保護的可見性,省略這些修飾符表示具有package級別的可見性。如果屬性或操作有下劃線,表明它是靜態的。
2.包
包是一種常規用途的組合機制。UML中一個包直接對應于java中的一個包,每個包的名稱對這個包進行了唯一性的標示。
3.接口
接口是一系列操作的集合,它指定了一個類所提供的服務,直接對應于java中的一個接口類型。接口即可用下面的那個圖標來標示(圓圈,下面是接口名,中間是直線,下邊是方法名),也可以附加了<>的一個標準類來表示。
關系::
1依賴:
2.關聯
3.聚合
4.合成
5.泛化
6.實現