UML类图以及类与类之间的关系
類圖的表示形式
我們可以看到類圖是使用一個矩形來表現我們的類。最上面是類名,中間是屬性,方法在最下面。
屬性
屬性的前面我們可以看到有加減號,他們是用來表示這個屬性或方法的可見性的。
"+"表示public,"-"表示private
屬性后面的等于號是用來表示屬性的默認值的。
可見性? 名稱 :類型 [ =默認值]
方法
可見性? 名稱(參數列表) [: 返回類型]
返回類型可寫可不寫
比如上圖的operation2就沒有寫返回參數,但是如果可以的話建議都寫
類與類之間關系
五種關系以及對應的類圖畫法需要掌握,這里主要是線條的畫法需要掌握。
在processon的頁面中選中線條之后,可以在上面的工具欄選擇線條的起點和終點。
關聯關系
關聯可以分為單向關聯和雙向關聯。
單向關聯
單項關聯使用一個帶箭頭的直線表示,代表A持有B。
上圖代表的是一個用戶有多個聯系地址可供用戶下單時選擇,這就是一個單向關聯。
雙向關聯
雙方各自持有對方類型的成員變量,也就是A中有B,B中也有A。這個就很好理解了,掘金用戶有人寫了很多的文章,文章又有很多人點贊。
如果我們能夠拿到這兩個之間的關系,那么計算惡意刷贊就能變得非常簡單。
依賴關系
依賴關系用一條帶有箭頭的虛線表示,代表的是A必須需要B才能發揮作用。體現在某個類的方法使用另一個類的對象作為參數。
泛化關系
用帶空心三角形的直線表示,用來表示父類和子類之間的關系,也有的地方叫繼承關系。
對于交通工具這個父類而言,汽車和自行車都是它的子類。
聚合關系
UML中聚合關系用帶空心菱形和箭頭的直線表示,這是一種弱依賴,整體不存在的時候,部分仍可獨立存在。
比如上面的LoginBO中的validate方法,就使用了IUserDAO中的findUserByAccAndPwd方法,但是當去掉了LoginBO,還會有其他地方用到IUserDAO的。
組合關系
組合關系用一個帶實心菱形和箭頭的直線表示,兩者表示強依賴關系,整體不存在的情況下,部分也就沒有存在的必要了。
LoginBO就是為了LoginForm服務的,當LoginForm被干掉的時候,LoginBO也就沒有存在的必要了。
實現關系
用來關聯說明和實現。用帶空心三角形的虛線表示。我們的Service層經常使用實現關系,一個接口對應多個實現
總結
以上是生活随笔為你收集整理的UML类图以及类与类之间的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UVa272-TEX Quotes
- 下一篇: 1天熟记----数据库