類圖總結


類圖介紹

 

UML類圖中,類使用包含類名、屬性(field) 和方法(method) 且帶有分割線的矩形來表示。

· + :表示public

· - :表示private

· #:表示protectedfriendly也歸入這類)

因此,上圖中的Employee類具有3個私有屬性和一個公有方法。

   

比如在下圖的Demo類中,定義了3個方法:

 public方法method1接收一個類型為Object的參數,返回值類型為void

protected方法method2無參數,返回值類型為String

private方法method3接收類型分別為intint[]的參數,返回值類型為int

   

類與類之間關系的表示方式

1、關聯關系

關聯關系又可進一步分為單向關聯、雙向關聯和自關聯。

1)單向關聯

我們可以看到,在UML類圖中單向關聯用一個帶箭頭的直線表示。上圖表示每個顧客都有一個地址,這通過讓Customer類持有一個類型為Address的成員變量類實現。

   

2)雙向關聯

從上圖中我們很容易看出,所謂的雙向關聯就是雙方各自持有對方類型的成員變量。在UML類圖中,雙向關聯用一個不帶箭頭的直線表示。上圖中在Customer類中維護一個Product[]數組,表示一個顧客購買了那些產品;在Product類中維護一個Customer類型的成員變量表示這個產品被哪個顧客所購買。

   

3)自關聯

自關聯在UML類圖中用一個帶有箭頭且指向自身的直線表示。上圖的意思就是Node類包含類型為Node的成員變量,也就是"自己包含自己"

2、聚合關系

上圖中的Car類與Engine類就是聚合關系(Car類中包含一個Engine類型的成員變量)。由上圖我們可以看到,UML中聚合關系用帶空心菱形和箭頭的直線表示。聚合關系強調是"整體"包含"部分",但是"部分"可以脫離"整體"而單獨存在。比如上圖中汽車包含了發動機,而發動機脫離了汽車也能單獨存在。

   

3、組合關系

組合關系與聚合關系見得最大不同在於:這里的"部分"脫離了"整體"便不復存在。比如下圖:

顯然,嘴是頭的一部分且不能脫離了頭而單獨存在。在UML類圖中,組合關系用一個帶實心菱形和箭頭的直線表示。

   

4、依賴關系

從上圖我們可以看到,Driverdrive方法只有傳入了一個Car對象才能發揮作用,因此我們說Driver類依賴於Car類。在UML類圖中,依賴關系用一條帶有箭頭的虛線表示。

   

5、繼承關系

繼承關系對應的是extend關鍵字,在UML類圖中用帶空心三角形的直線表示,如下圖所示中,Student類與Teacher類繼承了Person類。

   

6、接口實現關系

這種關系對應implement關鍵字,在UML類圖中用帶空心三角形的虛線表示。如下圖中,Car類與Ship類都實現了Vehicle接口。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM