里氏代换原则:任何基类可以出现的地方,子类一定可以出现
如何规范地遵从里氏替换原则:
1 子类必须完全实现父类的抽象方法,但不能覆盖父类的非抽象方法
2 子类可以实现自己特有的方法
3 当子类覆盖或实现父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
4 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。
5 子类的实例可以替代任何父类的实例,但反之不成立
里氏代换原则:任何基类可以出现的地方,子类一定可以出现
如何规范地遵从里氏替换原则:
1 子类必须完全实现父类的抽象方法,但不能覆盖父类的非抽象方法
2 子类可以实现自己特有的方法
3 当子类覆盖或实现父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
4 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。
5 子类的实例可以替代任何父类的实例,但反之不成立