当前位置: 首页 > news >正文

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

里氏替换原则

定义

任何基类可以出现的地方,子类一定可以出现。
通俗理解:子类可以扩展父类的功能,但不能改变父类原有的功能。
换句话说,子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。

针对的问题

主要作用就是规范继承时子类的一些书写规则。

里氏替换原则的认识

里氏替换原则包含以下4层含义:

1. 子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法。
2. 子类中可以增加自己特有的方法。
3. 当子类覆盖或实现父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
4. 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。始终记住里氏替换原则的最终目的就可以,就是保持父类的方法不被覆盖。所以前面两层含义和最后一条很容易理解,
http://www.lryc.cn/news/97429.html

相关文章:

  • v2ex站点base64编码解码
  • PostgreSQL数据库动态共享内存管理器——Dynamic shared memory areas
  • Redission分布式锁详解
  • 063、故障处理之快速恢复数据
  • 从零开始学习CTF
  • 【stable diffusion】保姆级入门课程05-Stable diffusion(SD)图生图-涂鸦重绘的用法
  • HBase 源码编译部署包
  • 备战秋招 | 笔试强训16
  • 01 Excel常用高频快捷键汇总
  • PHP Laravel 路由、中间件、数据库等例子
  • Unity小游戏——使被砍中的怪物四处飞散
  • hive之文件格式与压缩
  • 云原生容器内的一次pg_repack排错和解决过程
  • Centos Certbot 使用
  • VL163的基本信息
  • IntelliJ IDEA 2023.2 新版本,拥抱 AI
  • softmax回归
  • .NET 8 Preview 5推出!
  • Spring核心概念、IoC和DI的认识、Spring中bean的配置及实例化、bean的生命周期
  • git冲突“accept theirs”和“accept yours”
  • Vision Transformer (ViT)
  • OpenGL Metal Shader 编程:解决图片拉伸变形问题
  • [SQL挖掘机] - 字符串函数 - concat
  • Rust之所有权
  • RabbitMQ帮助类的封装
  • mac 移动硬盘未正常退出,再次链接无法读取(显示)
  • 短视频账号矩阵系统源码开发部署路径
  • 前端 | ( 十一)CSS3简介及基本语法(上) | 尚硅谷前端html+css零基础教程2023最新
  • Kafka入门到起飞系列 - 副本机制,什么是副本因子呢?
  • 2023年基准Kubernetes报告:6个K8s可靠性失误