分分鐘看懂UML--類圖

一、什么是UML?

UML中文名為統(tǒng)一建模語言(Unified Modeling Language)。UML是一種開發(fā)的方法,用于說明、可視化、構(gòu)建和編寫一個正在開發(fā)的、面向?qū)ο蟮摹④浖芗到y(tǒng)的開放方法。

二、UML中類之間的關(guān)系####

以下用實際的例子說明一下UML中類之間的關(guān)系:

  1. 實現(xiàn)關(guān)系
    在UML圖中以空心三角+虛線來表示:
實現(xiàn)關(guān)系

在面向?qū)ο蟮木幊讨?,一般會定義基類和繼承類?;惒荒軐崿F(xiàn)方法,可以理解為傀儡類,“傀儡類”有基礎(chǔ)的屬性。實際工作的是實現(xiàn)類,即子類。在Java中可以使用abstract 定義“傀儡類”或者使用interface 接口。
Person是一個抽象類,人可以是學生、科學家、記者等等。學生與Person之間的關(guān)系便是實現(xiàn)關(guān)系。

  1. 泛化關(guān)系
    以空心三角+實線表示:


    泛化關(guān)系

    學生是一個可以是小學生、初中生、大學生等。學生是一個泛化的類,那么小學生與學生之間的關(guān)系便是泛化關(guān)系。

  2. 組合關(guān)系
    以實心菱形+實線表示:


    組合關(guān)系

    一個企業(yè)由多個部門,企業(yè)與部門有著強關(guān)系,如果企業(yè)倒閉了,那么部門隨之也就沒有了。組合關(guān)系可以理解為具有強依賴的聚合關(guān)系。

  3. 聚合關(guān)系
    以空心菱形+實線表示:


    聚合關(guān)系

    聚合關(guān)系不是強依賴關(guān)系,比如一個企業(yè)的部門沒有了,但是企業(yè)的職員還是職員,并不會因為部門的撤銷而改變身份。

  4. 依賴關(guān)系
    以虛線+箭頭表示:


    依賴關(guān)系

    依賴關(guān)系通常在運行時產(chǎn)生,并且是臨時性關(guān)系。比如構(gòu)造函數(shù)中的參數(shù)。

  5. 關(guān)聯(lián)關(guān)系
    以實線+箭頭表示:
關(guān)聯(lián)關(guān)系

關(guān)聯(lián)關(guān)系為靜態(tài)關(guān)系,與運行時無關(guān)。一般是常識性的強關(guān)系。學生與身份證之間便是關(guān)聯(lián)關(guān)系。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這里不會將UML的各種元素都提到,我只想講講類圖中各個類之間的關(guān)系; 能看懂類圖中各個類之間的線條、箭頭代表什么意...
    a2bfbb8a095f閱讀 1,919評論 0 1
  • 在UML 2.0的13種圖形中,類圖是使用頻率最高的UML圖之一。Martin Fowler在其著作《UML Di...
    雷雷_zll閱讀 13,525評論 0 14
  • 這里不會將UML的各種元素都提到,我只想講講類圖中各個類之間的關(guān)系; 能看懂類圖中各個類之間的線條、箭頭代表什么意...
    逆風飛行1226閱讀 1,174評論 0 3
  • 看懂UML類圖和時序圖 這里不會將UML的各種元素都提到,我只想講講類圖中各個類之間的關(guān)系; 能看懂類圖中各個類之...
    騷的掉渣閱讀 877評論 0 2
  • 8.3 周一 晚上回來休息 今天寫的是昨天的跑步記錄,昨晚忘記更新了,困。。 之前一直像關(guān)注這樣一個公眾號,該公眾...
    DevilMaster閱讀 170評論 0 1

友情鏈接更多精彩內(nèi)容