定义
派生类能够替换其基类对象被使用
里式替换原则是对继承的要求。 有以下4层含义(从网上抄来的)
理解比死记要强。我们要深入理解继承,有人拿着这把大斧头四处砍来砍去,却不知道斧头拿在手里不仅仅是权力,更是一种保护的责任。
每个类都会有public方法,有些类会实现interface,供其他类使用,也就是处在一个服务的位置上。每个public方法都是自身所做出的一个承诺,只要你按照要求调用,就会提供正确的服务。子类在继承后,固然是获得了超类的带来的‘财富’,更重要的是要遵守超类做出的承诺,破坏了这个承诺实际上是没有资格继承超类的。
每个方法都会有先验条件-对调用方的要求,后验条件-自身做出的承诺,子类在继承后要严以律己,宽以待人,也就是说子类可以放宽先验条件,但对后验条件只能缩紧不能放宽。上面的返回值,抛出异常都是对这个要求的细化。平时工作中我们也要仔细设计类层次,谨防破坏承诺的事情发生,不然很容易就出现一堆if else
,代码中隐藏的臭虫也会更多。
愿大家共勉。