里式替换原则:在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常
通俗来讲:
- 子类可以扩展父类的功能,但不能改变父类原有的功能
- 子类尽量不要重写父类的方法
- 由于使用基类对象的地方都可以使用子类对象,因此在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,用子类对象来替换父类对象。
- 里式替换告诉我们,其实继承让两个类之间的耦合性增加了,如果一个类被其他类继承,当这个类需要修改时,必须考虑到所有的子类,而且修改后,所有涉及到子类的功能都有可能故障。在适当情况下可以通过聚合、组合、依赖来解决这个问题。