2011年(21)
分类: Java
2011-03-30 14:41:52
第6章 掌握继承和组合
继承
组合
为什么封装对OO很重要
继承和组合是两种重用机制。什么时候应该用继承,什么时候应该用组合,是一个值得仔细思考的问题。在继承的思想得到广泛应用后不久,人们就发现了许多继承的缺点,例如:破坏了类的封装(子类与父类之间),当父类中的相关实现发生改变之后,子类也会受到影响。且会导使系统测试变得复杂等。因此OO研究者们提出了只要可能就使用组合的思想。在小结中,作者提出自己的观点:只要可能就使用组合这个思想掩盖了实际问题,实际问题可能只是适合使用组合的场合比继承多--而不是只要可能就使用组合。因此组合和继承的使用,要根据合适的上下文。
使用继承的原则:任何父类适用的地方,子类一定适用。--里氏代换原则(is-a关系)
多态是继承最好的应用之一,也就是说,多态的应用依赖于继承,没有继承关系,也就没有多态可言了。