里氏替换原则(LSP)面向对象六个基本原则之一
- 子类与父类的替代性:子类应当能够替代父类出现的任何地方,且表现出相同的行为。
- 行为的一致性:子类的行为必须与父类保持一致,包括输入和输出、异常处理等。
- 接口契约:子类应当遵循父类的接口契约,保证不违反父类的方法预期。
里氏替换原则与开闭原则
开闭原则包含里氏替换原则。
里氏替换原则有更强的约束力。
- 不同的焦点 :里氏替换原则主要关注如何正确使用继承 ,确保子类能够替代父类;而开闭原则关注如何设计系统以便于扩展,减少对现有代码的修改。