组合和聚合的区别

简单来讲,组合是一种较为紧密的关系,从生命周期上看,部分和整体是共存亡的关系。
聚合则是一种较为松散的关系,部分和整体的生命周期未必一致。


组合关系

聚合关系

聚合关系

在实际代码中,组合关系中,部分的实例化在整体中进行。聚合关系中,部分的实例化过程在整体外进行,然后通过某种方式注入给整体。
另一种表现可能是,组合是静态聚集,聚合是动态聚集。


组合关系C++实现

聚合关系C++实现

你可能感兴趣的:(组合和聚合的区别)