關於UML的總結

  • UML:Unified modeling language(統一建模語言),一種用於軟件系統分析和設計的語言,有利於幫助軟件開發人員進行思考和記錄思路的結果;
    UML是一套符號的規定,描述軟件模型找那個各個元素和他們之間的關係;

  • “UML類圖”:描述系統中的類本身的組成和類之間的各種靜態關係

  • 類與類之間的關係

    • 繼承(Generalization)
      繼承指的是一個類或接口(子類或子接口)繼承了另一個類或接口(子類或子接口)的功能,並且可以增加自己的其他功能,java中extends關鍵字表示繼承關係
      在UML類圖設計中,繼承用一條帶空心三角箭頭的實線表示,從子類指向父類,或者子接口指向父接口。
      在這裏插入圖片描述

    • 依賴(dependency)
      依賴是指一個類使用到了另外一個類,使用這種關係具有臨時性,兩者之間具有非常弱的關係,例如,我們喫飯,需要使用筷子,此時我們和筷子之間就是依賴關係;
      **在UML類圖設計中,依賴關係用由類A指向類B的帶箭頭虛線表示。 **
      在這裏插入圖片描述

    • 實現(realization)
      實現指的是一個類實現了接口的功能,是類和接口之間最常用的方法,在java中使用implements關鍵字來表示繼承關係;
      在UML類圖設計中,實現用一條帶空心三角箭頭的虛線表示,從類指向實現的接口。
      在這裏插入圖片描述

    • 關聯(association)
      關聯體現的是兩個類之間的一種強依賴關係,比如我和我的朋友,這種關係比依賴更強、不存在依賴關係的偶然性、關係也不是臨時性的,一般是長期性的,而且雙方的關係一般是平等的。關聯可以是單向、雙向的。
      比如,被關聯的類可以是以屬性的形式出現在關聯類中,也可以是關聯類引用了一個被引用類的全局變量;
      在UML類圖設計中,關聯關係用由關聯類A指向被關聯類B的帶箭頭實線表示,在關聯的兩端可以標註關聯雙方的角色和多重性標記。 在這裏插入圖片描述
      關聯關係中有兩種特例,即爲組合和聚合;

      • 聚合(aggregation)
        體現的是整體與部分的關係,但是兩者之間可以分離,生命週期不同,比如公司和他的員工;
        在UML類圖設計中,聚合關係以空心菱形加實線箭頭表示。
        在這裏插入圖片描述
      • 組合(composition)
        體現整體與部分的關係,強聚合關係,但是兩者之間不可分,生命週期相同,比如人和大腦;
        在UML類圖設計中,組合關係以實心菱形加實線箭頭表示
        在這裏插入圖片描述

    總結
    對於實現和繼承,我們可以很明顯的區分,至於後幾種關係所表現的強弱程度依次爲:組合>聚合>關聯>依賴

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章