面向对象6大原则之里氏替换原则
发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,这是我之前对于面向对象6大原则的学习笔记,其中对里氏替换原则的理解不够深刻,https://blog.51cto.com/zhangzhao/2396810。根据百度百科的资料,里氏替换原则的定义为:
千家信息网最后更新 2025年02月07日面向对象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安全错误
数据库的锁怎样保障安全
燃烧意志怎么做服务器
庆阳手机软件开发
国企央企网络安全形式描述
服务器卷影备份在哪打开
大兴区品质软件开发
用服务器做电脑主机靠谱吗
服务器电源防护措施
临床文章要求原始数据库
服务器采用u盘如何备份
网络安全事件七级
网络安全答案2021
上海服务器电源厂家直销
x600怎样做数据库
软件开发处罚制度
网络技术中的不规则性
移动分层分组网络技术
软件开发综合实验实践功能
数据库目录树设计
荷塘月色朗读软件开发
娄底公路局网络安全
sql数据库的复制
360网络安全防护未启动
英语课程学习软件开发需要多少钱
选择test1这个数据库
重庆程序软件开发正规平台
哪个游戏服务器好用
美国国家网络安全机构
服务器质量对网页的影响
倩女幽魂互通服务器什么意思
网络安全 中职 培养方案