聚合,关联,组合

来源:互联网 发布:foxmail邮箱端口 编辑:程序博客网 时间:2024/06/05 04:24
聚合,关联,组合 是对象之间的三种关系。从某种意义上说,继承是一种类的纵向关系,而聚合,关联,组合是对象的横向关系。 其关系强弱为 关联<聚合<组合 关联:在程序中相当于把已经实例化的对象A做为另一对象B方法的参数传递引用。 组合:即为内部类 聚合:其做法介于两者之间。不过我更觉得聚合相当于一个在外部已经申明的A,然后把A放在B中做为一个变量使用。 组合,聚合的又一区别
组合聚合的主要区别 组合:异构性,部分和主体具有生命期上的一致性 聚合:同构性,主体和部分不具有生命期的一致性

我认为又一重大区别是(推论) 定义: 自组合,自聚合:自组合就是类型本身组合了自己的一个类型,自聚合就是类型本身聚合合了自己的一个类型。 推论:那么很明显,自组合是不成立的,这会引起循环构造,自聚合是成立的,聚合的过程和主体创建的过程在时间上是分离的。 应用:设计模式中singlton模式中,实例的类型如下 class T {    static T* m_instance; } 这是自聚合的典型应用。

以上想法来自meyer的面向对象软件构造一书。

原创粉丝点击