美文网首页
设计原则二(里氏转换原则)

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

作者: 战神汤姆 | 来源:发表于2020-03-16 10:55 被阅读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();

相关文章

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

    子类对父类的方法尽量不要重写和重载。因为父类代表了定义好的结构,通过这个规范的接口与外界交互,子类不应该随便破坏它...

  • 里氏替换原则

    个人博客原文:里氏替换原则 设计模式六大原则之二:里氏替换原则。 简介 姓名 :里氏替换原则 英文名 :Lisko...

  • 设计模式之里氏替换原则

    设计模式之里氏替换原则 里氏替换原则(LSP: Liskov Substitution Principle) 定义...

  • 设计模式分类以及设计模式原则

    设计模式原则 设计模式原则 开闭原则(Open Closed Principle,OCP) 里氏代换原则(Lisk...

  • 设计模式的设计原则

    设计模式的设计原则 面向对象五大设计原则 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 开闭原则 设计模...

  • 6大设计原则

    Python6大设计原则 阅读目录 内容总览 六大设计原则都有哪些 一、单一职责原则 二、里氏替换原则 三、依赖倒...

  • 六大设计原则

    6大设计原则总结 目录 一、单一职责原则 二、里氏替换原则 三、依赖倒置原则 四、接口隔离原则 五、迪米特法则 六...

  • 01-设计模式原则

    面向对象的设计原则 面向对象的设计原则也被称为SOLID。SOLID原则包括单一职责原则、开闭原则、里氏替换原则、...

  • Swift设计模式----目录

    面向对象设计原则: 开闭原则 单一职责原则 依赖倒置原则 接口分离原则 迪米特法则 里氏替换原则 面向对象设计模式...

  • 02 Android常见设计模式:面向对象的设计原则

    一. 类的设计原则 开闭原则里氏替换原则迪米特法则(最少知道原则)单一职责原则接口隔离原则依赖倒置原则 这几个设计...

网友评论

      本文标题:设计原则二(里氏转换原则)

      本文链接:https://www.haomeiwen.com/subject/allwrhtx.html