小语跟随神秘人离开单一宗,来到了里氏宗。

小语发现这里还真是跟单一宗有些不同!

很明显的就是一眼望去,小孩子特别多!

铁匠在带着几个孩子在打铁,看着一个清秀的女孩子,轮着石墩子一样的大铁锤,看得心惊肉跳。厨师在带着一群孩子们做饭,一个个地跟着他学得有模有样……

“发现了吧”?旁边胖子问。

“嗯,为啥这么多孩子?而且这么小就开始跟着大人学习这些挺有难度的技能”?

“其实这些都是他们自己的孩子。为啥这里的孩子从小就开始学习如何工作?这个问题,你自己也可以回答啊,你想想里氏宗的法则是什么”?

“嗯…应该是父类出现的地方,都可以使用子类来替换”!

“没错,所以里氏宗他们从孩子一出生,就开始贯彻遵从他们的法则,传授他们孩子,他们自己所有的技能,就算他们不在宗内,完全可以让他们的孩子替代他们的工作,不会对宗内造成任何的影响!(子类必须完全实现父类的方法)走,咱们去采访下这里的人”。

他们来到了铁匠铺,小语看着那个清秀的女孩子,正在挥动着铁锤,咣咣咣的敲击着一块生铁……持续了很久竟然也只是微微气喘,看的小语是佩服不已!

站在女孩旁边的大汉,见到我们在观察打铁,就招呼我们可以进来看。

小语进来后,跟大汉打个招呼,就迫不及待的说道,“大叔,您女儿真厉害”!

大汉听到,哈哈大笑着说道,“过奖了!小兄弟。不过,别看小蓝是个女孩子,但是她的乱披风锤法,已经可以连续挥动九九八十一次了”!大汉脸上满是骄傲之色!

小语心想,大叔真有意思,说着谦虚的话,却还使劲的夸自己女儿。不过她还真是厉害,还真是青出于蓝而胜于蓝啊!

“我现在年龄大了,最多只能挥动八八六十四次,别小看我跟小蓝差距的这十七次,量变会产生质变,小雨可以打造神兵利器,但是我现在只能打造一般的好点的武器罢了(子类可以有自己的个性)”。

“而且小蓝可以使用很多种类的矿石去打造,但是我所能打造的矿石种类就要少很多了,这十七次的差距,让我对有些矿石无能为力!哎!(覆盖或者实现父类方法时,输入参数可以被放大(重载))” 说道这里,大叔脸上有些落寞之色。

小语也不知道怎么安慰大叔,只能说道:“大叔,虽然小蓝能打造神兵利器,但是您的经验可不是她所能比的啊!而且她是您的女儿,再厉害不也是你教出来的嘛!”

“哈哈!”大叔大笑起来!“小伙子!这点你说的倒是一点没错,我打造过的兵器种类,那可不是我家那个小丫头能比的(覆盖或者实现父类的方法时,输出结果可以被缩小)!”

我们拜别了铁匠大叔,前往接口宗。

总结:以下四点都是为了遵从里氏替换原则

1、子类必须完全实现父类的方法。

2、子类可以有自己的个性:子类可以拥有自己的独有的方法。

3、覆盖或者实现父类方法时,输入参数可以被放大,重载时,参数可以适当放大。

4、覆盖或者实现父类的方法时,输出结果可以被缩小,重写父类方法时,返回结果可以被缩小。

更多内容,欢迎同步关注作者公众号二维码!
程序员内功修炼手册 主要发布计算机基础、设计模式、计算机网络基础知识,同时重点关注大前端知识
Android、iOS、web前端、Flutter、React Native等,想学习大前端知识的速度来吧,一起学习、一起成长!

设计模式之里氏宗青出于蓝而胜于蓝相关推荐

  1. 北风设计模式课程---里氏替换原则(Liskov Substitution Principle)

    北风设计模式课程---里氏替换原则(Liskov Substitution Principle) 一.总结 一句话总结: 当衍生类能够完全替代它们的基类时:(Liskov Substitution P ...

  2. 北风设计模式课程---里氏代换原则

    北风设计模式课程---里氏代换原则 一.总结 一句话总结: 视频教程网上一定能找到做好笔记的博客,很大几率都不需要自己做笔记.比如北风设计模式课程,https://www.cnblogs.com/xi ...

  3. 设计模式之里氏替换原则示例

    设计模式之里氏替换原则示例 里氏替换原则强调的是设计和实现要依赖于抽象而非具体:子类只能去扩展基类,而不是隐藏或者覆盖基类,它包含4层含义. 一.里氏替换4原则 1.子类可以实现父类的抽象方法,但不能 ...

  4. Java设计模式(03) -- 里氏替换原则

    六大设计原则 单一职责原则定义:约定一个类应该有且仅有一个改变类的原因: 开闭原则定义:规定软件中的对象.类.模块和函数对扩展应该是开放的,但对于修改是封闭的,核心思想也可以理解为面向抽象编程. 里氏 ...

  5. 《设计模式》——里氏替换原则

    先扯两句 原本是不想扯了的,因为很久没扯了也不知道该说写什么,可是这里氏替换原则东西实在是太多了,我看过都快一周了,但是每次想写博客的时候,都写几个字就扔下了,倒不是说书中的内容不够详细,只是如果都是 ...

  6. 设计模式原则—里氏替换原则

    设计模式概念与作用: 设计模式是一套被反复使用的.多数人知晓.经过分类编目的优秀代码设计经验的总结.特定环境下特定问题的处理方法. 1)重用设计和代码 重用设计比重用代码更有意义,自动带来代码重用 2 ...

  7. 【设计模式】里氏替换原则

    里氏替换原则 OO(Object Oriented,面向对象程式设计)中的继承性的思考和说明 继承包含这样一层含义∶父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不强制要求所有
的子类必 ...

  8. 设计模式:里氏替换原则

    里氏替换原则(Liskov Substitution Principle ,LSP): 指的是任何基类可以出现的地方,子类一定可以出现. 定义1 如果对每一个类型为T1的对象o1,都有类型为T2的对象 ...

  9. 设计模式之 里氏替换原则

    里氏替换原则(Liskov Substitution Principle, LSP):所有引用父类的地方必须能使用其子类的对象. 简单来说就是 子类拥有父类所拥有的一切,并可以在此基础上进而扩展其他的 ...

  10. 设计模式:里氏替换原则(详解)

    里氏替换原则 前言 一. 介绍 二.代码演示 1.版本一:原始版本 2.版本二:里氏替换原则 前言 本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许 ...

最新文章

  1. 一个爬虫的故事:这是人干的事儿?
  2. VTK:PolyData之CellEdgeNeighbors
  3. 关于海量数据的SQL查询优化.........
  4. 一个 bad file descriptor 的问题
  5. Angular页面发生更新时,更新如何从view层传递到model层
  6. LeetCode 280. 摆动排序
  7. php ajax复选框是否选中的值,jquery-ajax - php+ajax分页时,checkbox复选框选中的问题...
  8. java 蓝桥杯算法训练 寂寞的数(题解)
  9. 星恒发布“超锂S7” 新品 采用第7代锰系多元复合锂技术打造
  10. [Oracle SQL]最基本的connect by的用法
  11. 数据计算 统计学案例_PSG三维数据采集软件在土方量计算中的应用案例
  12. 五个典型的 JavaScript 面试题
  13. yolov5数据集标注txt2xml和xml2txt
  14. nginx 配置php
  15. Ubuntu操作系统
  16. 股票做空机构-浑水公司
  17. 《缠中说禅108课》32:走势的当下与投资者的思维方式
  18. 我的后台Java面经(阿里、腾讯、头条、京东、IBM等)
  19. 来自华为创始人演讲的几点感悟,助你新的一年升职加薪
  20. 猫掉进山洞C语言随机数,《小猫出生在秘密山洞》读书心得最新范文五篇

热门文章

  1. 什么是gzip?为什么要用gzip?使用gzip的优势和劣势是什么?需要哪些岗位进行配合才能够实现gzip内容的应用?
  2. linux下gzip用法,Linux gzip 命令的使用
  3. java脚本错误修复,win10系统使用iE浏览器时不断出现Java活动脚本功能出错问题的操作技巧...
  4. 数字信号处理中均值、均方值、均方差、均方根值、均方误差、均方根误差、方差、协方差、标准差对比分析及统计学意义
  5. 全球供应链报告显示2020年中国采购业一枝独秀;疫情加大全球企业数字化差距 | 美通企业日报...
  6. Ubuntu 16.04 Kalibr安装使用
  7. uniapp得到用户当前定位以及用户选择位置
  8. 双光耦开关电源电路图_开关电源电路图及原理讲解
  9. 复元奇方饮_谁研制的?治疗什疾病?作用与功效?
  10. python制作圣诞贺卡_用代码做圣诞节贺卡