UML類圖幾種關係的總結

來源:互聯網
上載者:User

標籤:blog   http   使用   os   strong   io   2014   代碼   

        在UML類圖中,常見的有以下幾種關係: 泛化(Generalization),  實現(Realization),關聯(Association),彙總(Aggregation),組合(Composition),依賴(Dependency)

         1. 泛化(Generalization

        【泛化關係】:是一種繼承關係,表示一般與特殊的關係,它指定了子類如何特化父類的所有特徵和行為。例如:老虎是動物的一種,即有老虎的特性也有動物的共性。

        【箭頭指向】:帶三角箭頭的實線,箭頭指向父類

 

        2. 實現(Realization

        【實現關係】:是一種類與介面的關係,表示類是介面所有特徵和行為的實現.

        【箭頭指向】:帶三角箭頭的虛線,箭頭指向介面

 

        3. 關聯(Association)

        【關聯關係】:是一種擁有的關係,它使一個類知道另一個類的屬性和方法;如:老師與學生,丈夫與妻子關聯可以是雙向的,也可以是單向的。雙向的關聯可以有兩個箭頭或者沒有箭頭,單向的關聯有一個箭頭。

        【代碼體現】:成員變數

        【箭頭及指向】:帶普通箭頭的實心線,指向被擁有者

 

        中,老師與學生是雙向關聯,老師有多名學生,學生也可能有多名老師。但學生與某課程間的關係為單向關聯,一名學生可能要上多門課程,課程是個抽象的東西他不擁有學生。 

        為自身關聯: 

 

        6. 依賴(Dependency)

        【依賴關係】:是一種使用的關係,即一個類的實現需要另一個類的協助,所以要盡量不使用雙向的互相依賴.

        【代碼錶現】:局部變數、方法的參數或者對靜態方法的調用

        【箭頭及指向】:帶箭頭的虛線,指向被使用者

 

 

        4. 彙總(Aggregation

        【彙總關係】:是整體與部分的關係,且部分可以離開整體而單獨存在。如車和輪胎是整體和部分的關係,輪胎離開車仍然可以存在。

        彙總關係是關聯關係的一種,是強的關聯關係;關聯和彙總在文法上無法區分,必須考察具體的邏輯關係。

        【代碼體現】:成員變數

        【箭頭及指向】:帶空心菱形的實心線,菱形指向整體

 

        5. 組合(Composition)

        【組合關係】:是整體與部分的關係,但部分不能離開整體而單獨存在。如公司和部門是整體和部分的關係,沒有公司就不存在部門。

       組合關係是關聯關係的一種,是比彙總關係還要強的關係,它要求普通的彙總關係中代表整體的對象負責代表部分的對象的生命週期。

【代碼體現】:成員變數

【箭頭及指向】:帶實心菱形的實線,菱形指向整體

 

        各種關係的強弱順序:

        泛化 = 實現 > 組合 > 彙總 > 關聯 > 依賴 

        下面這張UML圖,比較形象地展示了各種類圖關係:

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.