文章 2024-06-20 来自:开发者社区

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

概念 子类对象能够替换程序中父类对象出现的任何地方,并且保证原来程序的逻辑行为不变及正确性不被破坏。 替换 替换的前提是面向对象语言所支持的多态特性,同一个行为具有多个不同表现形式或形态的能力。 逻辑行为不变 在不了解派生类的情况下,仅通过接口或基类的方法,即可清楚的知道方法的行为,而不管哪种派生类的实现,都与接口或基类方法的期望行为一致。 拆解 ...

设计模式 六大原则之里氏替换原则
文章 2023-12-15 来自:开发者社区

Java设计模式七大原则之里氏替换原则

写在前面上篇文章里我们说到了Java开发中的七大原则之一的开闭原则,明白了开闭原则主要是为了应当对扩展开放,对修改关闭。保证了开闭原则,才能使类与类之间的扩展性变得更强,安全性也会变得更高。接下来我们来解释一下里氏替换原则。里氏替换原则里氏替换原则代表了类与类之间的集成复用原则,通俗一点,就是可以让开发者依照里式替换原则来选择是否需要继承,或者是复用。里氏替换原则的基础概念就是继承复用,在开闭原....

文章 2022-06-19 来自:开发者社区

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

1.什么是里氏替换原则?我们都知道,在面向对象编程中有三大特性(封装、继承、多态),在这里我们来说继承这个东西。继承包含这样一层含义:父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不强制要求所有的子类必须遵循这些契约,但是如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏。也就是说:继承在给程序设计带来便利的同时,也带来了弊端。比如使用继承会给程序带来侵入性,程序的可....

设计模式七大原则——里氏替换原则
文章 2022-02-17 来自:开发者社区

设计模式六大原则(2):里氏替换原则

        肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。 定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代...

文章 2022-02-14 来自:开发者社区

【设计模式】软件设计七大原则 ( 里氏替换原则 | 代码示例 | 类示例 | 方法入参示例 | 方法返回值示例 )(一)

文章目录一、里氏替换原则代码示例 ( 类的层级 | 反面示例 )1、长方形2、正方形二、里氏替换原则代码示例 ( 类的层级 | 正面示例 )1、四边形接口2、长方形类3、正方形类三、里氏替换原则代码示例 ( 方法入参 | 正面示例 )1、父类2、子类3、测试类四、里氏替换原则代码示例 ( 方法入参 | 反面示例 )1、父类2、子类3、测试类五、里氏替换原则代码示例 ( 方法返回值 )1、父类2、....

文章 2022-02-14 来自:开发者社区

【设计模式】软件设计七大原则 ( 里氏替换原则 | 代码示例 | 类示例 | 方法入参示例 | 方法返回值示例 )(三)

3、正方形类package liskovsubstitution; /** * 正方形 */ public class Square implements Quadrangle { /** * 正方形边长 */ private long sideLength; @Override public long getLength() { ...

文章 2022-02-14 来自:开发者社区

【设计模式】软件设计七大原则 ( 里氏替换原则 | 代码示例 | 类示例 | 方法入参示例 | 方法返回值示例 )(二)

3、正方形类package liskovsubstitution; /** * 长方形 */ public class Rectangle implements Quadrangle { /** * 长方形长 */ private long length; /** * 长方形宽 */ private long width...

文章 2022-02-14 来自:开发者社区

【设计模式】软件设计七大原则 ( 里氏替换原则 | 代码示例 | 类示例 | 方法入参示例 | 方法返回值示例 )(三)

四、里氏替换原则代码示例 ( 方法入参 | 反面示例 )在该反面示例中 , 父类中的方法参数是 Map 类型 , 子类中重载的方法参数是 HashMap 类型 ;如果客户端调用该方法 , 传入一个 HashMap 类型的参数 , 就会出现只能调用重载方法 , 无法调用父类中定义的方法或子类中重写的方法 ;重载的方法比父类方法参数严格 , 就会出现上述情况 ;1、父类package liskovs....

文章 2022-02-14 来自:开发者社区

【设计模式】软件设计七大原则 ( 里氏替换原则 | 定义 | 定义扩展 | 引申 | 意义 | 优点 )

文章目录一、里氏替换原则定义二、里氏替换原则定义扩展三、里氏替换原则引申意义四、里氏替换原则意义五、里氏替换原则优点一、里氏替换原则定义里氏替换原则定义 :如果 对每一个 类型为 T1 的 对象 o1 , 都有 类型为 T2 的 对象 o2 ,使得 以 T1 定义的 所有程序 P 在 所有对象 o1 都 替换成 o2 时 ,程序 P 的 行为 没有发生变化 ,那么 类型 T2 是 类型 T1 的....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等