面向对象6大原则之里氏替换原则
发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,这是我之前对于面向对象6大原则的学习笔记,其中对里氏替换原则的理解不够深刻,https://blog.51cto.com/zhangzhao/2396810。根据百度百科的资料,里氏替换原则的定义为:
千家信息网最后更新 2024年11月22日面向对象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安全错误
数据库的锁怎样保障安全
国家对网络安全标准
联想服务器显示屏不显示
山西麻将软件开发建设
育碧服务器vpn
互联网之光新科技
与网络安全相关的英文
中翰互联网科技
2020街霸5服务器
兰州外观检测软件开发
数据库中的表之间如何联系
关于网络安全我们还知道什么呢
python 软件开发规范
人员权限数据库
马云网络安全500强
软件开发缺陷原因分类
软件开发的流程自考题
外国网站服务器代理
戴尔 E3 服务器
cnki外文数据库算知网收录吗
什么是5g软件开发工程师
怎么找网络安全测试
打印机扫描接收方服务器关闭
唐山4u机架式服务器公司
和平区网络安全培训
java数据库成绩查询
数据库ppt素材
怎么看一个文献的数据库
吉林正规软件开发诚信合作
软件开发技术亮点
数据库自动化软件