美文网首页
面向对象的设计原则-"里氏替换原则"

面向对象的设计原则-"里氏替换原则"

作者: 别明天就今天吧 | 来源:发表于2020-03-26 10:21 被阅读0次

"里氏替换原则"是类的设计原则之一,我们使用"3H"学习法对其进行拆解;

 why(目的):为什么要学习"里式替换原则",我们都知道面向对象的三大特性:封装、继承、多态,该原则就是对良好的"继承关系"定义了一些规范,通过学习理解后可以写出更健壮、更具扩展性的程序;

 how(方法):怎么学习"里氏替换原则",方式很多:比如看书、上网找资料,先理解概念,然后实践代入场景,最后输出理解;

what(本质):"里式替换原则"到底是什么?

接下来我们开始进行具体的学习;

    概念:LSP,"里式替换原则",凡是在父类出现的场景中,将父类替换为子类,程序逻辑不变,反之则未必可以。

1.子类需要实现父类的抽象方法

2.子类尽量不要重写或覆盖父类中已经实现的方法

3.子类重载父类方法时,子类输入参数>=父类输入参数&子类输出参数<=父类输出参数

4.子类可以添加自己特有的新方法,原则上不建议

LSP经典例子:正方形和长方形不符合里式替换,设置宽、高后,长方形的体积=宽*高,正方形体积=高*高,子类无法替换父类,不符合里氏替换原则;

在策略模式中,客户端类依赖抽象父类,场景类使用时传入具体的策略子类,子类都实现了父类的抽象接口,可以互换,这就符合里式替换原则;

相关文章

  • 01-设计模式原则

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

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

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

  • 面试题

    1>面向对象设计原则 单一职责原则,开闭原则,依赖倒置原则(面向接口编程),迪米特原则,里氏替换原则,接口隔离原则...

  • 设计模式的设计原则

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

  • 六大设计原则详解(2)-里氏替换原则

    简介: 里氏替换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之...

  • Java基础学习第二十五天——设计模式

    [TOC] 面向对象思想设计原则 单一职责原则 开闭原则 里氏替换原则 依赖注入原则 接口分离原则 迪米特原则 单...

  • OOP之「SOLID」

    SOLID 面向对象设计原则 英文简写名称SRP单一职责原则OCP开放封闭原则LSP里氏替换原则ISP接口隔离原则...

  • Java23种设计模式

    GOF23(group of four) 一、设计模式知识 面向对象设计原则 1.开闭原则2.里氏替换原则3.依赖...

  • 设计模式六大原则——里氏替换原则

    里氏替换原则(Liskov Substitution Principle,LSP)是面向对象设计(OOD)中比较重...

  • 设计模式之单例模式

    引言-面向对象设计原则 单一职责原则 开闭原则 里氏替换原则 接口隔离原则 依赖倒置原则 迪米特原则 什么是单例模...

网友评论

      本文标题:面向对象的设计原则-"里氏替换原则"

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