原文链接:http://en.wikipedia.org/wiki/Liskov_substitution_principle

  在面向对象编程当中,Liskov替换原则是一个对继承关系(subtyping)的特别的定义,叫做行为继承(强),是Barbara Liskov在一九八七年Data abstraction and hierachy会议上提出的。这个原则不仅仅是语法上的意义,更重要的是语义上的意义,因为它更倾向于保证继承树当中的类型语法一致,特别是类型生成的对象。Liskov和Jeannette Wing在他们一九九四年的论文当中用如下简洁的方式定义了此原则:

假定q(x)是类型T的对象x的方法且为真。那么如果类型S是T的子类型的话,类型S的对象y也应该有q(y)返回真。

  在同一篇论文当中,Liskov和Wing利用Hoare Logic的扩展公式系统详细得给出了他们的继承子类描述符号。有观点认为他们所使用的Hoare Logic的扩展公式类似于Bertand Meyer的针对契约编程,因为同样的考虑了继承子类的前后条件。

[原文在百度空间已经关闭]