Liskov替换原则

1、定义

  子类型必须能替换掉它们的基类型继承

2、提取公共部分的方法代替继承

  若是一组类都支持一个公共的职责,那么它们应该从一个公共的超类继承该职责。 若是公共的超类不存在,那么就建立一个,并把公共的职责放入其中。毕竟,这样一个类的有用性是肯定无疑的。 然而稍后对系统的扩展也许会假如一个新的子类,该子类极可能会以新的方式来支持一样的职责。此时,这个新建立的超类可能会会是一个抽象类。开发

3、结论

  LSP是使OCP成为可能的主要原则之一。正是子类型的可替换性才能使得使用基类型表示的模块在无需修改的状况下就能够扩展。这种可替换性必须是开发人员能够隐式依赖的。这样,若是没有在代码显式地支持基类型的契约,那么就必需要很好地,普遍地理解这些契约。扩展

相关文章
相关标签/搜索