http://zyjwy02.iteye.com/blog/232838
继承 和组合 都是实现类重用 的手段,何时用继承何时用组合?
继承表示“is a”的关系,继承是对已有的类做一番改造,以此获得一个特殊的版本。即将一个较为抽象的类改造成能适用于某些特定需求的类。组合表示“has a”的关系,如果两个类之间有明显的整体/部分的关系,适合用组合,比如People和Arm类。将Arm类作为People类的一个私有属性。
面对扩展问题时,如果选择使用继承,则要考虑除了需要重写关注的方法外,是否还要看看有些方法也被继承下来了,而这些方法如果不重写的话是有害的。如果使用组合则可以避免这种问题。
本文探讨了面向对象编程中继承和组合两种实现类重用的方法。继承适用于表达“isa”关系,而组合则适用于存在明显整体/部分关系的情况。文章还讨论了在扩展性方面两者的区别。
155

被折叠的 条评论
为什么被折叠?



