架构中的设计原则之里氏替换原则(LSP) - 《java开发技术-在架构中体验设计模式和算法之美》

        里氏替换原则

        里氏替换原则的核心思想就是:在任何父类出现的地发都可以用它的子类来替换。英文缩写为LSP。全称Liskov Substitution Principle。

        其实里氏替换原则的意思就是:同一个继承体系中的对象应该有共同的行为特征。里氏替换原则关注的是怎么良好的使用继承,也就是说不要滥用继承,它是继承复用的基石。在里氏替换原则中,所引用的基类的地发必须能够透明地使用子类对象。也就是说,只要父类出现的地发,子类就能出现,而且替换为子类不会产生任何错误或异常。但是反过来,子类出现的地发,替换为父类就可能出现问题了。

    实际上,这是面向接口编程思想。java中的接口编程思想体现了里氏替换原则。java类型系统中,我们一般都是使用声明父类或接口类型来指向具体类的堆空间位置,而不是用具体类的类型声明。

   这个原则是为了良好的继承定义了一个规范,简单地讲,有4层含义:

  1. 子类必须完全实现父类的方法。

  2. 子类可以有自己的特性。

  3. 覆盖或者实现父类的方法时输入参数可以被放大。

  4. 覆写或者实现父类的方法时输出结果可以被缩小。


你可能感兴趣的:(架构中的设计原则,里氏替换原则(LSP))