里氏替换原则


里氏替换原则

继承作为面向对象设计的重要手段,具有以下的特点

优点

  • 代码共享,减少重复工作
  • 提高代码复用性
  • 子类形似于父类而区别于父类
  • 提高代码扩展性

缺点

  • 代码侵入性,继承必须拥有父类的所有方法
  • 降低代码灵活性,子类必须拥有父类的属性和方法
  • 增强了耦合性,当父类被改变时,需要考虑到子类的修改

什么叫里氏替换原则

所有引用基类的地方必须能够透明的使用其子类的对象()

由此里氏替换原则是为继承定义的一个规范

  • 子类必完全实现父类的方法
  • 子类可以有自己独特的个性
  • 覆盖或者实现父类的方法时,输入参数可以被放大
  • 覆盖或实现父类方法时,输出结果可以被缩小