1.什么是里式替换原则
-
历史替换原则(Liskov Substitution Principle)=LSP=老色批
-
在基类可以使用的地方,可以随时使用子类替换掉基类,而不会对功能有任何影响
-
里式替换原则为了让我们在代码中正确的使用继承
-
当我们使用继承时,对已经写好的父类中的方法进行重写,就可能会对整个继承的体系造成破坏
-
里氏替换原则通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。也就是不要重写父类的方法
-
如果一定要重写父类的方法,可以换一种形式:
- B继承了A,而B要重写A类中的a1方法,不要直接去重写
- 可以创建一个更高级的父类Base,将A与B要共用的方法放到Base中,让A与B都继承Base,此时A与B处于同级的关系,而不是子父类的关系,无论怎么修改B类都不会影响到A类
-
或者使用组合,聚合,依赖的形式,不使用继承