继承的弊端
- 父类已经实现好的方法,实际上是对子类设定规范和契约。虽然不强制要求所有子类必须遵守,但是如果子类修改父类已经实现好的方法,就可能回对整个继承体系造成破坏。(比如,B继承A,如果在B中修改了A类的某些方法,那么客户端调用B修改后的方法,那么执行结果就和父类A中不一样了。也许客户端就是想用A中的方法,但是又不知道B修改了改方法。)
- 继承在给程序带来便利的同时,也带来了弊端。比如回给程序带来侵入性,使程序的可移植性降低,增加对象的耦合性等。如果一个类被其他类所继承,那么修改该类的方法是要考虑到所有子类的情况。
- 那么遵循里氏替换原则,可以有效的避免以上问题
什么是里氏替换原则
里氏替换原则通俗来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。也就是说:子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。