关于聚合还是继承 - PHP进阶讨论

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

使用道具 举报

千问 | 2013-8-19 12:26:40 | 显示全部楼层
说说我的理解。通俗点就是用个变量指向你要用的类的对象,然后就可以用这个对象里的东西为你服务了,而不是继承那个类比如adapter模式中,就是把要adapt的类的对象传进去(或者管你用什么方法生成一个。。),然后用这个对象的方法来实现目标方法。通常这些目标方法是事先规定或者无法改变的某个接口中的。那么客户就可以仍然面向这个接口编程,而不用改什么代码...
回复

使用道具 举报

千问 | 2013-8-19 12:26:40 | 显示全部楼层
楼主说的‘聚合’在我的书里写的是‘类组合’...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行