UML類圖符號簡介

1. 類(Class):使用三層矩形框表示。 
第一層顯示類的名稱,如果是抽象類,則就用斜體顯示。 
第二層是字段和屬性。 
第三層是類的方法。 
注意前面的符號,‘+’表示public,‘-’表示private,‘#’表示protected。 

2. 接口:使用兩層矩形框表示,與類圖的區別主要是頂端有<<interface>>顯示。 
第一行是接口名稱。 
第二行是接口方法。 

3. 繼承類(extends):用空心三角形+實線來表示。 

4. 實現接口(implements):用空心三角形+虛線來表示 

5. 關聯(Association):用實線箭頭來表示,例如:燕子與氣候 

6. 聚合(Aggregation):用空心的菱形+實線箭頭來表示 
聚合:表示一種弱的‘擁有’關係,體現的是A對象可以包含B對象,但B對象不是A對象的一部分,例如:公司和員工 
[關聯]
對於兩個相對獨立的對象,當一個對象的實例與另一個對象的一些特定實例存在固定的對應關係時,這兩個對象之間爲關聯關係。
[具體表現]
關聯關係是使用實例變量來實現
[現實例子]
比如客戶和訂單,每個訂單對應特定的客戶,每個客戶對應一些特定的訂單;再例如公司和員工,每個公司對應一些特定的員工,每個員工對應一特定的公司


組合(Composition):用實心的菱形+實線箭頭來表示 
組合:部分和整體的關係,並且生命週期是相同的。例如:人與手 
聚合]
當對象A被加入到對象B中,成爲對象B的組成部分時,對象B和對象A之間爲聚集關係。聚合是關聯關係的一種,是較強的關聯關係,強調的是整體部分之間的關係。
[具體表現]
與關聯關係一樣,聚合關係也是通過實例變量來實現這樣關係的。關聯關係和聚合關係來語法上是沒辦法區分的,從語義上才能更好的區分兩者的區別。
[關聯與聚合的區別]

(1)關聯關係所涉及的兩個對象是處在同一個層次上的。比如人和自行車就是一種關聯關係,而不是聚合關係,因爲人不是由自行車組成的。
聚合關係涉及的兩個對象處於不平等的層次上,一個代表整體,一個代表部分。比如電腦和它的顯示器、鍵盤、主板以及內存就是聚集關係,因爲主板是電腦的組成部分。
(2)對於具有聚集關係(尤其是強聚集關係)的兩個對象,整體對象會制約它的組成對象的生命週期。部分類的對象不能單獨存在,它的生命週期依賴於整體類的 對象的生命週期,當整體消失,部分也就隨之消失。比如張三的電腦被偷了,那麼電腦的所有組件也不存在了,除非張三事先把一些電腦的組件(比如硬盤和內存) 拆了下來。


7. 依賴(Dependency):用虛線箭頭來表示,例如:動物與氧氣 
對於兩個相對獨立的對象,當一個對象負責構造另一個對象的實例,或者依賴另一個對象的服務時,這兩個對象之間主要體現爲依賴關係。
[具體表現]
依賴關係表現在局部變量方法的參數,以及對靜態方法的調用
[現實例子]
比如說你要去擰螺絲,你是不是要藉助(也就是依賴)螺絲刀(Screwdriver)來幫助你完成擰螺絲(screw)的工作


8. 基數:連線兩端的數字表明這一端的類可以有幾個實例,比如:一個鳥應該有兩隻翅膀。如果一個類可能有無數個實例,則就用

發佈了31 篇原創文章 · 獲贊 6 · 訪問量 33萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章