在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序
要尽量根据设计原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。本节
介绍里氏替换原则。
01里氏替换原则的定义
里氏替换原则 (Liskov Substitution Principle,LSP)由麻省理工学院计算机科学实验室的里斯科夫(Liskov)女士在 1987 年的“面向对象技术的高峰会议”上发表的一篇文章《数据抽象和层次》(Data Abstraction and Hierarchy)里提出来的,她提出: 继承必须确保超类所拥有的性质在子类中仍然成立 (Inheritance should ensure that any property proved about supertype objects also holds for subtype objects) 。
里氏替换原则主要阐述了有关继承的一些原则,也就是什么时候应该使用继承,什么时候不应该使
用继承,以及其中蕴含的原理。里氏替换原是继承复用的基础,它反映了基类与子类之间的关系,
是对开闭原则的补充,是对实现抽象化的具体步骤的规范。
具体定义:
If for each object ol of type S there is an object o2 of type T such that fora