不好意思, 搞错了, 我以为说的是内聚. 聚合也就是组合, 类的关系, 可以是继承, 也可以是聚合, 也就是类的成员属性是另一个类. 继承的依赖性比较强, 当前类可以会依赖父类的保护成员, 也就是对父类的依赖的东西比较多. 而聚合, 却不是只能使用公共的成员. 继承是is a关系, 也就是子类is a父类. 所以最好是有这种关系的要求时, 使用继承, 不然的话, 进量使用聚合. 除了上面的情况, 继承能做到的情况, 一般聚合都可以做到, 且聚合不是绑定了一个类, 可以运行时替换成其它的类, 这一点继承就不行了, 这一点策略模式可以看出. 当然很多人偷懒, 当两个类有部分相同接口时, 可能想要使用继承来减少再写一些代理的方法. 适配器模式只是一种应用, ...
|