UML解惑:圖說UML中的六大關係

2020-12-06 IT168

    【技術開發 技術文章

    UML定義的關係主要有六種:依賴、類屬、關聯、實現、聚合和組合。這些類間關係的理解和使用是掌握和應用UML的關鍵,而也就是這幾種關係,往往會讓初學者迷惑。這裡給出這六種主要UML關係的說明和類圖描述,一看之下,清晰明了;以下就分別介紹這幾種關係:

    繼承

    指的是一個類(稱為子類、子接口)繼承另外的一個類(稱為父類、父接口)的功能,並可以增加它自己的新功能的能力,繼承是類與類或者接口與接口之間最常見的關係;在Java中此類關係通過關鍵字extends明確標識,在設計時一般沒有爭議性;

    實現

    指的是一個class類實現interface接口(可以是多個)的功能;實現是類與接口之間最常見的關係;在Java中此類關係通過關鍵字implements明確標識,在設計時一般沒有爭議性;

    依賴

    可以簡單的理解,就是一個類A使用到了另一個類B,而這種使用關係是具有偶然性的、、臨時性的、非常弱的,但是B類的變化會影響到A;比如某人要過河,需要借用一條船,此時人與船之間的關係就是依賴;表現在代碼層面,為類B作為參數被類A在某個method方法中使用;

    關聯

    他體現的是兩個類、或者類與接口之間語義級別的一種強依賴關係,比如我和我的朋友;這種關係比依賴更強、不存在依賴關係的偶然性、關係也不是臨時性的,一般是長期性的,而且雙方的關係一般是平等的、關聯可以是單向、雙向的;表現在代碼層面,為被關聯類B以類屬性的形式出現在關聯類A中,也可能是關聯類A引用了一個類型為被關聯類B的全局變量;

    聚合

    聚合是關聯關係的一種特例,他體現的是整體與部分、擁有的關係,即has-a的關係,此時整體與部分之間是可分離的,他們可以具有各自的生命周期,部分可以屬於多個整體對象,也可以為多個整體對象共享;比如計算機與CPU、公司與員工的關係等;表現在代碼層面,和關聯關係是一致的,只能從語義級別來區分;

    組合

    組合也是關聯關係的一種特例,他體現的是一種contains-a的關係,這種關係比聚合更強,也稱為強聚合;他同樣體現整體與部分間的關係,但此時整體與部分是不可分的,整體的生命周期結束也就意味著部分的生命周期結束;比如你和你的大腦;表現在代碼層面,和關聯關係是一致的,只能從語義級別來區分;

    對於繼承、實現這兩種關係沒多少疑問,他們體現的是一種類與類、或者類與接口間的縱向關係;其他的四者關係則體現的是類與類、或者類與接口間的引用、橫向關係,是比較難區分的,有很多事物間的關係要想準備定位是很難的,前面也提到,這幾種關係都是語義級別的,所以從代碼層面並不能完全區分各種關係;但總的來說,後幾種關系所表現的強弱程度依次為:組合>聚合>關聯>依賴。




 


 

相關焦點

  • UML中關聯,組合與聚合等關係的辨析
    UML中關聯,組合與聚合等關係的辨析 以前學習面向對象的時候,常聽到介紹對象之間的各種關係,常見的有關聯,組合與聚合。下面我們分別介紹它們之間的關係。
  • UML對象圖和類圖關係解析
    作者:admin來源:uml.org.cn|2010-06-11 18:09
  • 深入剖析UML類圖依賴關係
    深入剖析UML類圖依賴關係 UML類中有泛化,依賴,關係,和聚集等關係,你是否都熟悉,這裡就向大家介紹一下UML類圖依賴關係,希望通過本文的學習你對UML類圖有更深入的認識。
  • UML類圖中的四種關係深入剖析
    UML類圖中的四種關係深入剖析 UML類圖你是否熟悉,這裡就向大家介紹一下UML類圖中的四種關係,相信通過本文的介紹大家對UML類圖有更加深刻的認識,歡迎大家一起來學習UML類圖。
  • 六種UML圖關係的表示及在代碼中體現
    六種UML圖關係的表示及在代碼中體現 UML圖有很多值得學習的地方,你對UML圖關係是否熟悉呢,本文就向大家介紹一下六種UML圖關係——表示及在代碼中體現,希望本文介紹對你有所幫助。
  • UML圖形中UML狀態圖和組件圖用法實例解析
    UML圖形中UML狀態圖和組件圖用法實例解析 本文向大家介紹一下UML圖形中的UML狀態圖和組件圖,這兩種圖各有各的特點和作用,相信通過本文的介紹你一定會有不少收穫。
  • UML建模工具中的五大視圖
    ◆用戶視圖–表示系統的目的和目標◆結構視圖–表示系統的靜態或空閒的狀態◆行為視圖–表示系統的動態狀態或狀態的變動◆實現視圖–表示系統的邏輯元素的分布◆環境視圖–表示系統物理元素的分布3.用戶視圖系統的用戶視圖由用例圖組成,用例圖包含執行者、用例、及它們的關係,用例圖表示了系統對外部實體提供的功能
  • 解析Rose中不同類型UML組件圖
    UML組件圖中通常包含3種元素:組件(Component)、接口(Interface)和依賴(Dependency)。每個組件實現一些接口,並使用另一些接口。UML組件圖概述組件圖(ComponentDiagram)描述了軟體的各種組件和它們之間的依賴關係。
  • 學習筆記 全面認識UML活動圖
    UML中活動狀態和動作狀態的圖標相同,但是活動狀態可以在圖標中給出入口動作和出口動作等信息。(5)、動作狀態與狀態圖中的狀態不同,它不能有入口動作和出口動作,更不能有內部轉移。(6)、在一張活動圖中,動作狀態允許多處出現。UML中的動作狀態圖用平滑的圓角矩形表示,如下:
  • 看懂UML類圖和時序圖
    一起學習、成長、溫情的熱愛生活圖丨pexels這裡不會將UML的各種元素都提到,我只想講講類圖中各個類之間的關係;能看懂類圖中各個類之間的線條、箭頭代表什麼意思後,也就足夠應對日常的工作和交流;同時,我們應該能將類圖所表達的含義和最終的代碼對應起來
  • 深入剖析靜態UML模型圖
    2.1類圖類圖描述的是類和類之間的相互關係。類在UML中的是用矩形表示,矩形中可以有三個區域,最上方的區域是名字域,用來顯示類名,中間的區域是屬性域,用來顯示類所具有的屬性列表,最下方的區域是操作區域,顯示定義的操作列表。
  • 經驗總結 UML實踐指南
    在UML語言中,用例模型是從外部用戶和外圍系統的角度,分析和考察待開發系統的行為,並通過參與制與系統間的交互關係描述系統對外提供的功能特性,這種參與者與系統功能特性間的交互關係就是用例。用例分析和用例建模就是通過對軟體需求的調研,從具體的功能性需求種抽象出用例模型的工作過程。
  • 「軟體設計」UML中關聯,聚合和組合區別
    我們將在這個UML指南中複習它們。 下圖顯示了一個概括。我們將在稍後的UML指南中討論它。 關聯 如果一個模型中的兩個類需要彼此通信,那麼它們之間必須有一個連結,並且可以通過一個關聯(連接器)來表示。
  • UML語言中模型元素和通用機制專家解析
    事物是UML中重要的組成部分,它代表任何可以定義的東西。事物之間的關係能夠把事物聯繫在一起,組成有意義的結構模型。每一個模型元素都有一個與之相對應的圖形元素。一、事物UML語言中事物可以分為結構事物、動作事物、分組事物和注釋事物。
  • 解析繪製UML用例圖的基本步驟
    繪製UML用例圖的基本步驟說明創建任何建模圖的詳細步驟在如何:編輯 UML 模型和關係圖中進行介紹。創建新的UML用例圖1.在「體系結構」菜單上,單擊「新建關係圖」。2.在「模板」下,單擊「UML 用例圖」。3.命名該關係圖。
  • UML用例建模的慨念和應用
    用例描述用來詳細描述用例圖中每個用例,用文本文檔來完成。    1. 用例圖    參與者不是特指人,是指系統以外的,在使用系統或與系統交互中所扮演的角色。因此參與者可以是人,可以是事物,也可以是時間或其他系統等等。還有一點要注意的是,參與者不是指人或事物本身,而是表示人或事物當時所扮演的角色。