面向对象6大原则之里氏替换原则
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这是我之前对于面向对象6大原则的学习笔记,其中对里氏替换原则的理解不够深刻,https://blog.51cto.com/zhangzhao/2396810。根据百度百科的资料,里氏替换原则的定义为:
千家信息网最后更新 2025年12月02日面向对象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安全错误
数据库的锁怎样保障安全
ai取代网络安全吗
低压线路电弧数据库
网络安全客户安全等级划分
网络安全宣传直播图片
谷安网络安全专业前景
广电总局网络安全排查
mc中国版服务器
网络安全法信息收集
武汉鸟笼科技互联网
网络安全技术与应用官方
网络安全攻防表演视频
宁波高新区软件开发怎么选
郧阳区公司软件开发售后保障
部队软件开发的部门叫什么
网络安全属于软件开发吗
公安厅外聘网络安全专家
中国网络安全保密第一股
yii2 不用数据库
quartz集群数据库扩容
嵌入式软件开发区万达宝贝
股票自动跟单交易软件开发
工业网络技术就业前景怎么样
网络安全攻防表演视频
soul软件开发多少钱
非法使用计算机网络安全罪
互联网科技巨头
不能初始化数据库支持
软件开发说明书页数
数字网络技术如何改变贸易方式
北斗互联网科技有限公司