里氏替换原则
继承作为面向对象设计的重要手段,具有以下的特点
优点
- 代码共享,减少重复工作
- 提高代码复用性
- 子类形似于父类而区别于父类
- 提高代码扩展性
缺点
- 代码侵入性,继承必须拥有父类的所有方法
- 降低代码灵活性,子类必须拥有父类的属性和方法
- 增强了耦合性,当父类被改变时,需要考虑到子类的修改
什么叫里氏替换原则
所有引用基类的地方必须能够透明的使用其子类的对象()
由此里氏替换原则是为继承定义的一个规范
- 子类必完全实现父类的方法
- 子类可以有自己独特的个性
- 覆盖或者实现父类的方法时,输入参数可以被放大
- 覆盖或实现父类方法时,输出结果可以被缩小