類與類之間的關係

來源:互聯網
上載者:User


類與類之間的關係可以分為以下幾種:

1、            關聯

兩個相對獨立的對象,當一個對象的執行個體與另一個對象的特定執行個體存在固定關係時,這兩個對象之間就存在關聯關係

1) 單向關聯

A1--àA2 表示A1認識A2,A1知道A2的存在,A1可以調用A2中的方法和屬性

例如:訂單和商品,訂單中包括商品,但是商品並不瞭解訂單的存在

2) 雙向關聯

兩者之間互相知道對方的存在,並可以相互訪問屬性和方法

3) 自身關聯

同一類對象之間的關聯

4) 多維關聯

多個對象之間存在關聯

2、            泛化【繼承】

類與類的繼承關係,類與介面的實現關係

例如:父與子

3、            依賴

類A要完成某個功能必須引發類B,則類A類B存在依賴關係,依賴關係是弱的關聯關係

4、            彙總

當對象A被加入到對象B中,成為對象B的組成部分時,對象B和對象A之間為聚會關係。聚會是關聯關係的一種,是較強的關聯關係,強調的是整體與部分之間的關係

例如:商品和它的規格、樣式等就是彙總關係

5、            組合

對象A包含對象B,對象B離開對象A沒有實際意義。是一種更強的關聯關係。

例如:人包含手,手離開軀體就失去了它應有的作用

 

總結:在java中應該盡量優先使用組合,而不是繼承會使得類的關過於複雜,破壞了封裝性,使用組合一樣可以獲得已有類的功能,而且會使得新類更加穩固。

實際上,從依賴-----à彙總----à組合,類與類之間的關係更加緊密,互相之間的影響越來越大。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.