什么是【里氏替换】

里氏替换(Liskov Substitution Principle,简称 LSP),同样也是设计原则之一,里氏替换原则定义:任何基类可以出现的地方,子类一定可以出现。里氏替换原则是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。

  • 子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法;
  • 子类中可以增加自己特性;
  • 类的方法重载父类的方法时,方法的前置条件要比父类方法的输入参数更宽松;
  • 覆写或者实现父类的方法时输出结果可以被缩小。

在里氏替换原则,是对程序设计中的 继承 作出了更好的定义。但是往往在实际开发过程中我们通常违背这个原则,将类的继承和多态做的非常的混乱,导致功能产生了变化整个项目又要推倒重来。

多思考,多改变,才能成为优秀的设计者。

〖坚持的一俢〗

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文集网络上文章及自己coding和理解的结果而来,是设计模式学习的开篇。 本文介绍设计模式的一些概念,分类,和设...
    月落蝶殇阅读 629评论 0 0
  • 单一职责原则 (SRP) 全称 SRP , Single Responsibility Principle 单一职...
    米莉_L阅读 1,873评论 2 5
  • 转自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帅199207阅读 8,807评论 3 93
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,680评论 1 32
  • 字典: 字典的定义 ~字典(存放键值对组合的容器)~字典中的每个元素都是由两部分构成的, 冒号前面是键冒号后面是值...
    selfenhancement阅读 257评论 0 2

友情链接更多精彩内容