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

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

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

里氏替换原则与开闭原则

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

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

  • 不同的焦点 :里氏替换原则主要关注如何正确使用继承 ,确保子类能够替代父类;而开闭原则关注如何设计系统以便于扩展,减少对现有代码的修改。
相关推荐
mldong21 小时前
"applicant" 契约:退回发起人的闭环设计
java·架构
月华路1 天前
G1 垃圾回收:脏卡队列、记忆集与并发精化线程机制
java·开发语言
用户938515635071 天前
工厂模式与 Nest.js 核心思想 —— 从蜜雪冰城到企业级架构
后端·设计模式·nestjs
gugucoding1 天前
47. 【Java】Java内存模型(JMM)与可见性
java·开发语言
zww89491111 天前
校园跑腿系统开发实战指南:从需求分析到上线部署全流程解析
java
Fluxart.ai1 天前
电商商品图审核怎么自动化?规则引擎、人工复核与发布门禁
java·前端·自动化
名字还没想好☜1 天前
Java 线上内存泄漏排查实战:jmap 导堆、MAT 找 GC Roots 与四类常见泄漏
java·开发语言·jvm·内存泄漏
IT爱学堂1 天前
尚硅谷 - 2025年3月Java+AI大模型应用开发
java·开发语言·人工智能
烬羽1 天前
从 nest new 到 Hello World:一个最小 NestJS 项目,讲透工厂 + 装饰器 + 模块化
设计模式·node.js·nestjs
小贤plus1 天前
SpringBoot 三大核心注解精讲:@ControllerAdvice、@RestControllerAdvice、@Validated 分组校验(实战)
java