里氏替换原则 一、设计模式的规范 设计模式遵循六⼤原则;单⼀职责( ⼀个类和⽅法只做⼀件事 )、⾥⽒替换( 多态,⼦类可扩展⽗类 )、依赖 倒置( 细节依赖抽象,下层依赖上层 )、接⼝隔离( 建⽴单⼀接⼝ )、迪⽶特原则( 最少知道,降低耦合 )、开闭 原则( 抽象架构,扩展实现 ),会...
里氏替换原则的目的是使用约定的方式,让使用继承后的代码具备良好的扩展性和兼容性。 在日常开发中使用继承的地方并不多,在有些公司的代码规范中也不会允许许多层继承,尤其是一些核心服务的扩展。而继承多数使用在系统架构初期定义好的逻辑上或抽象出的核心功能里。如果使用了继承,就一定要遵从里氏替换原则,否则会让...
一、里氏替换原则 如果说实现开闭原则的关键步骤就是抽象化,那么基类(父类)和子类的继承关系就是抽象化的具体实现,所以里氏替换原则就是对实现抽象化的具体步骤的规范。即:子类可以扩展基类(父类)的功能,但不能改变父类原有的功能。 定义:一个软件实体如果适用一个父类的话,那一定是适用于其子类,所有引用父类...
里氏替换原则代表了类与类之间的集成复用原则,通俗一点,就是可以让开发者依照里式替换原则来选择是否需要继承,或者是复用。 里氏替换原则的基础概念就是继承复用,在开闭原则的基础上,增加了基类与子类之间的依赖关系,是对实现抽象化的具体步骤的规范。 一般来说,里式替换原则和开闭原则组合使用,因为这两个原则都是...
里氏替换原则讲述的是类与类直接继承的原则,什么时候应该使用继承,什么时候不应该使用继承。里氏替换原是类继承复用的基础,它反映了基类与子类之间的关系,是对开闭原则的补充,是对实现抽象化的具体步骤的规范。 总结一句话:子类可以扩展父类的功能,但不能改变父类原有的功能 作用 是实现开闭原则的重要方式之一 解...
深入浅出设计模式——里氏替换原则 1.里氏替换原则介绍 2.用代码演示里氏替换原则 3.总结 1.里氏替换原则介绍 定义: 1)如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子...
Java设计模式七大原则之里氏替换原则详解 目录定义案例需求方案一方案二对比分析总结 定义 里氏替换原则(Liskov Substitution Principle,LSP),官方定义如下: 如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象 o1都代换成o2时,程序P的行为没有发生变化,那么类型S是类型T的子类型...
里氏替换原则的使用 简介:【Java设计模式】如何正确的使用继承?里氏替换原则的使用 一、问题提出 继承包含这样一层含义:父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不强制要求所有的子类必须遵循这些契约,但是如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏...
里氏替换原则的主要思想是:继承必须确保超类所拥有的性质在子类中仍然成立。 里氏替换原则主要阐述了有关继承的一些原则,也就是什么时候应该使用继承,什么时候不应该使用继承,里氏替换原则是继承复用的基础,它反映了基类和子类的关系。 里氏替换原则的作用:
里氏替换原则,OCP作为OO的高层原则,主张使用“抽象(Abstraction)”和“多态(Polymorphism)”将设计中的静态结构改为动态结构,维持设计的封闭性。“抽象”是语言提供的功能。“多态”由继承语义实现。 里氏替换原则包含以下4层含义: 子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法。