设计模式-七个基本原则之一-里氏替换原则

里氏替换原则(LSP)面向对象六个基本原则之一

  • 子类与父类的替代性:子类应当能够替代父类出现的任何地方,且表现出相同的行为。
  • 行为的一致性:子类的行为必须与父类保持一致,包括输入和输出、异常处理等。
  • 接口契约:子类应当遵循父类的接口契约,保证不违反父类的方法预期。

里氏替换原则与开闭原则

开闭原则包含里氏替换原则。

里氏替换原则有更强的约束力。

  • 不同的焦点 :里氏替换原则主要关注如何正确使用继承 ,确保子类能够替代父类;而开闭原则关注如何设计系统以便于扩展,减少对现有代码的修改。
相关推荐
董世昌41几秒前
HTTP协议中,GET和POST有什么区别?分别适用什么场景?
java·开发语言·前端
独自破碎E1 分钟前
Java中HashMap的默认负载因子为什么设置为0.75?
java·开发语言·网络
疋瓞2 分钟前
C/C++查缺补漏《5》_智能指针、C和C++中的数组、指针、函数对比、C和C++中内存分配概览
java·c语言·c++
幽络源小助理4 分钟前
SpringBoot+Vue大学城水电管理系统源码 | 后勤设备管理 | 幽络源
java·开发语言
黎雁·泠崖14 分钟前
Java数组进阶:内存图解+二维数组全解析(底层原理+Java&C差异对比)
java·c语言·开发语言
Remember_99314 分钟前
【JavaSE】一站式掌握Java面向对象编程:从类与对象到继承、多态、抽象与接口
java·开发语言·数据结构·ide·git·leetcode·eclipse
小园子的小菜18 分钟前
Spring事务失效9大场景(Java面试高频)
java·spring·面试
向前V25 分钟前
Flutter for OpenHarmony数独游戏App实战:胜利弹窗
java·flutter·游戏
WilliamHu.32 分钟前
A2A协议
java·数据结构·算法
JAVA+C语言32 分钟前
如何在Java中实现线程间的通信?
java·大数据·python