面向对象6大原则之里氏替换原则
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这是我之前对于面向对象6大原则的学习笔记,其中对里氏替换原则的理解不够深刻,https://blog.51cto.com/zhangzhao/2396810。根据百度百科的资料,里氏替换原则的定义为:
千家信息网最后更新 2026年11月03日面向对象6大原则之里氏替换原则
这是我之前对于面向对象6大原则的学习笔记,其中对里氏替换原则的理解不够深刻,https://blog.51cto.com/zhangzhao/2396810。
根据百度百科的资料,里氏替换原则的定义为:Liskov于1987年提出了一个关于继承的原则"Inheritance should ensure that any property proved about supertype objects also holds for subtype objects."--"继承必须确保超类所拥有的性质在子类中仍然成立。"也就是说,当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有is-A关系。
简单来说,就是当子类替换其基类的时候,程序的行为没有发生任何变化。
这就要求:
1. 子类可以实现父类的抽象方法,但是不能重写父类的非抽象方法。(这里需要区分下重写和重载的概念,重写是指函数名相同,函数的签名或者说参数类型相同;而重载是函数名相同,函数的签名或者说参数类型不同,面向对象语言的多态性会在运行时根据传入的实参类型自动匹配最适合的函数进行调用)
2. 子类可以增加自己的特性。
3. 子类的在重载父类方法时,方法的前置条件(形参)要比父类方法的输入参数更宽松。这是因为如果子类方法的参数范围更小的话,在运行调用函数的时候,可能就会先调用子类的重载函数,这是违反里氏替换原则的。
4. 重载父类方法时输出结果(返回值)可以被缩小。
子类
函数
方法
原则
参数
里氏
相同
类型
这是
对象
实例
时候
运行
大原
不同
多态
宽松
不够
之间
也就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网与科技
哈尔滨大商圈互联网科技有限公司
互联网金融 金融科技
合肥互联网科技公司
互联网 科技创业
为想互联网科技
互联网科技论文
互联网 视角下的科技创新
四个字互联网科技公司取名
佩信高科技互联网
博兴的互联网电子科技公司
广州新华互联网科技学校电竞方面
翼展科技 首家互联网医院
下一代互联网重大应用科技园
南京一网一红互联网科技有限公司
全球科技与互联网公司市值变化
江苏互联网智能科技产品出厂价
北京互联网科技类企业分布
易租星互联网科技有限公司
上海互联网科技园景观
科技类互联网
互联网 科技创业
互联网科技作文
互联网科技网站
互联网实体化科技化
哈尔滨新华互联网科技学院
佳云科技和互联网广告
互联网科技资金流入
福建互联网展示科技馆设计
北京互联网科技类企业分布