聚合与组合

来源:互联网 发布:linux和windows传文件 编辑:程序博客网 时间:2024/05/18 17:02

聚合:表示两个对象之间是整体和部分的弱关系,成员对象可以脱离整体对象而独立存在。has-a关系

组合:表示两个对象之间是整体和部分的关系,部分的生命周期不能超越整体,或者说不能脱离整体而存在。部分与整体具有统一的生存期。contains-a关系

代码中体现为:

部分类对象(子对象)以类属性的形式出现在整体类的定义中


组合:

class A
{
};
class B
{
    A a1, a2;
};

聚合:

class C
{
    A *a;
};


0 0