组合和聚合的区别,通俗易懂。
生活随笔
收集整理的這篇文章主要介紹了
组合和聚合的区别,通俗易懂。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
聚合與組合都是表示整體和個體的關聯關系,他們之間最大的區別在于子類被父類控制的程度。組合的父子類關系比聚合要強。
組合:part-of關系,父類擁有子類,子類不能獨立于父類存在。
這種關系比聚合更強,也稱為強聚合;他同樣體現整體與部分間的關系,但此時整體與部分是不可分的,整體的生命周期結束也就意味著部分的生命周期結束。
下面代碼的A類、B類之間的關系是組合關系
聚合:has-a關系,父類包含子類,子類可以獨立于父類存在。
整體與部分之間是可分離的,他們可以具有各自的生命周期,部分可以屬于多個整體對象,也可以為多個整體對象共享。
下面代碼的A類、B類之間的關系是聚合關系
public class A {void funcA() {// ...} }A a; public class B {a.funcA(); }總結
以上是生活随笔為你收集整理的组合和聚合的区别,通俗易懂。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 12行代码AC_Leecode 495.
- 下一篇: C++题解-Leecode 375. 猜