简单来讲,组合是一种较为紧密的关系,从生命周期上看,部分和整体是共存亡的关系。
聚合则是一种较为松散的关系,部分和整体的生命周期未必一致。
组合关系
聚合关系
聚合关系
在实际代码中,组合关系中,部分的实例化在整体中进行。聚合关系中,部分的实例化过程在整体外进行,然后通过某种方式注入给整体。
另一种表现可能是,组合是静态聚集,聚合是动态聚集。
组合关系C++实现
聚合关系C++实现
作者:going_hlf
链接:https://www.jianshu.com/p/e74f90ae1802
来源:简书