聚合和组合都属于关联,
处于聚合关系的两个类生命周期不同步,则是聚合关系;
处于组合关系的两个类的生命周期同步。
关联可以有方向,可以是单向关联,也可以是双向关联。
关联在C++中呈现为:
class A{...}
class B{ ...}
A::Function1(B &b)
或
A::Function1(B b)
或
A::Function1(B *b)
即一个类作为另一个类方法的参数。
在C++语言中,从实现的角度讲,聚合可以表示为:
class A {...}
class B { A* a; .....}
即类B包含类A的指针;
一旦整体对象不存在,部分对象也将不存在。部分对象与整体对象之间具有共生死的关系。
在C++语言中,从实现的角度讲,组合可表示为:
class A{...}
class B{ A a; ...}
即类B包含类A的对象。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- kqyc.cn 版权所有 赣ICP备2024042808号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务