定义

  • 子类对象必须能够替换掉所有父类对象
  • 子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法

类比:可以用一张信用卡(子类)替换借记卡(父类)进行支付,两者都能正常使用

应用场景:

  • 需要确保子类可以完全替代父类时
  • 想确保系统的扩展性和灵活性时

优缺点

  • 优点
    • 确保子类能够正确扩展父类的行为
    • 提高系统的稳定性和可扩展性
  • 缺点
    • 在设计时仔细考虑继承结构,增加了设计的复杂性