设计原则二(里氏转换原则)

2020-03-16  本文已影响0人  战神汤姆

子类对父类的方法尽量不要重写和重载。因为父类代表了定义好的结构,通过这个规范的接口与外界交互,子类不应该随便破坏它
简要概述:弥补了继承“开-闭”

里氏转换原则为良好的继承定义了一个规范,包含了4层含义:

模式体现

经典代码解析
Animal.java

public abstract class Animal{
      public abstract void move();
}

Horse.java

public class Horse  extends Animal{
    public void move(){
         System.out.println("马儿跑");
    }
}

Bird.java

public class Bird extends Animal{
    public void move(){
         System.out.println("鸟儿飞");
    }
}

TestLSP.java

public class TestLSP{
    public static void main(String args[]){
        Animal animal;
        animal=new Horse();
        animal.move();
        animal=new Bird();
        animal.move();
    }
}

上述反过来子类对象指向父类违反里氏转换原则 //Horse h=new Animal();

上一篇 下一篇

猜你喜欢

热点阅读