面向对象程序设计
面向对象程序设计的里氏替换原则是一个关于类型抽象的原则。在阐释该原则重要性时用到了一个基于鸭子测试的衍生说法：“如果它看起来像鸭子，叫起来也像鸭子，但是它需要电池才能工作，那么你的抽象大概是做错了。”