国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

五分鐘讀懂UML類圖

2019-01-28 14:38 作者:動力節(jié)點  | 我要投稿

平時閱讀一些遠嗎分析類文章或是設(shè)計應(yīng)用架構(gòu)時沒少與UML類圖打交道。實際上,UML類圖中最常用到的元素五分鐘就能掌握,下面趕緊來一起認識一下它吧:

一、類的屬性的表示方式

在UML類圖中,類使用包含類名、屬性(field) 和方法(method) 且?guī)в蟹指罹€的矩形來表示,比如下圖表示一個Employee類,它包含name,age和email這3個屬性,以及modifyInfo()方法。

那么屬性/方法名稱前加的加號和減號是什么意思呢?它們表示了這個屬性或方法的可見性,UML類圖中表示可見性的符號有三種:

·?+ :表示public

·?- :表示private

·?#:表示protected(friendly也歸入這類)

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

?

實際上,屬性的完整表示方式是這樣的:

可見性 ?名稱 :類型 [ = 缺省值]

中括號中的內(nèi)容表示是可選的

?

二、類的方法的表示方式

上圖中我們已經(jīng)看到了方法的表示形式。實際上,方法的完整表示方式如下:

可見性 ?名稱(參數(shù)列表) [ : 返回類型]

同樣,中括號中的內(nèi)容是可選的。

?

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

?

·?public方法method1接收一個類型為Object的參數(shù),返回值類型為void

·?protected方法method2無參數(shù),返回值類型為String

·?private方法method3接收類型分別為int、int[]的參數(shù),返回值類型為int

?

三、類與類之間關(guān)系的表示方式

1、關(guān)聯(lián)關(guān)系

關(guān)聯(lián)關(guān)系又可進一步分為單向關(guān)聯(lián)、雙向關(guān)聯(lián)和自關(guān)聯(lián)。

(1)單向關(guān)聯(lián)

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

?

(2)雙向關(guān)聯(lián)

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

?

(3)自關(guān)聯(lián)

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

?

2、聚合關(guān)系

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

?

3、組合關(guān)系

組合關(guān)系與聚合關(guān)系見得最大不同在于:這里的“部分”脫離了“整體”便不復(fù)存在。比如下圖:

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

?

4、依賴關(guān)系

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

?

5、繼承關(guān)系

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

?

6、接口實現(xiàn)關(guān)系

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

?

到了這里,UML類圖中最常見的表示方式我們就介紹完了,有了這些我們就能讀懂常見的UML類圖了,剩下的遇到時再查即可。

?

三、參考資料

http://www.uml.org.cn/oobject/201211231.asp?


五分鐘讀懂UML類圖的評論 (共 條)

分享到微博請遵守國家法律
化隆| 腾冲县| 赞皇县| 友谊县| 杨浦区| 乌恰县| 巴彦淖尔市| 靖州| 象州县| 福建省| 泰州市| 霍州市| 绥芬河市| 克拉玛依市| 买车| 河源市| 舒兰市| 日喀则市| 崇义县| 肃南| 无极县| 井冈山市| 贺兰县| 佛冈县| 榆社县| 东莞市| 仁寿县| 安新县| 兴宁市| 温泉县| 周宁县| 渭南市| 隆尧县| 新郑市| 石泉县| 正蓝旗| 拉萨市| 江城| 许昌县| 会理县| 天水市|