里氏代换原则里氏替换原则的简介

里氏代换原则  时间:2021-07-16  阅读:()

P6NK90ZFP和STTH512FP用什么代换

P6NK90ZFP坏了,可以用10N60代换   STTH512FP坏了,可以用FMLG16代换   里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。

里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。

LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。

里氏代换原则是对“开-闭”原则的补充。

实现“开-闭”原则的关键步骤就是抽象化。

而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。

如何理解里氏替换原则

展开全部 我简单的给你说一下吧。

首先,这是编译器的要求,如果不这么做,无法通过编译。

其次,面向对象的编程,其中继承有个大原则,任何子类的对象都可以当成父类的对象使用。

如有父类人类,可以使用一般的枪,有警察类,可以使用任何的枪。

class Person { void shoot(SimpleGun simpleGun); } class Police extends Person { void shoot(Gun gun); } 其中SimpleGun extends Gun。

这样的话任何警察类的对象都可以被当做人类来使用。

也就是说警察类既然会使用任何的枪,当然可以使用一般的枪。

Person person = new Police(); person.shoot(simpleGun); 而如果反过来,普通人可以使用任何抢,警察只能使用一般枪。

class Person { void shoot(Gun gun); } class Police extends Person { void shoot(SimpleGun simpleGun); } 这样的话就不合理了,既然警察是人类的一个子类,所以警察也是人类,既然是人类就应该能使用人类的方法,也就是使用任何的枪,可以根据上面的定义,反而警察类的能力还变小了。

所以有一个原则,子类的能力必须大于等于父类,即父类可以使用的方法,子类都可以使用。

返回值也是同样的道理。

假设一个父类方法返回一个List,子类返回一个ArrayList,这当然可以。

如果父类方法返回一个ArrayList,子类返回一个List,就说不通了。

这里子类返回值的能力是比父类小的。

还有抛出异常的情况。

任何子类方法可以声明抛出父类方法声明异常的子类。

而不能声明抛出父类没有声明的异常。

这一切都是为了,任何子类的对象都可以当做父类使用。

里氏替换原则的简介

里氏替换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。

里氏替换原则中说,任何基类可以出现的地方,子类一定可以出现。

LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。

如此,问题产生了:“我们如何去度量继承关系的质量?” Liskov于1987年提出了一个关于继承的原则“Inheritance should ensure that any property proved about supertype objects also holds for subtype objects.”——“继承必须确保超类所拥有的性质在子类中仍然成立。

”也就是说,当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有is-A关系。

该原则称为Liskov Substitution Principle——里氏替换原则。

林先生在上课时风趣地称之为“老鼠的儿子会打洞”。

^_^

SugarHosts糖果主机六折 云服务器五折

也有在上个月介绍到糖果主机商12周年的促销活动,我有看到不少的朋友还是选择他们家的香港虚拟主机和美国虚拟主机比较多,同时有一个网友有联系到推荐入门的个人网站主机,最后建议他选择糖果主机的迷你主机方案,适合单个站点的。这次商家又推出所谓的秋季活动促销,这里一并整理看看这个服务商在秋季活动中有哪些值得选择的主机方案,比如虚拟主机最低可以享受六折,云服务器可以享受五折优惠。 官网地址:糖果主机秋季活动促...

DMIT(8.72美元)日本国际线路KVM月付8折起,年付5折

DMIT.io是成立于2018年的一家国外主机商,提供VPS主机和独立服务器租用,数据中心包括中国香港、美国洛杉矶和日本等,其中日本VPS是新上的节点,基于KVM架构,国际线路,1Gbps带宽,同时提供月付循环8折优惠码,或者年付一次性5折优惠码,优惠后最低每月8.72美元或者首年65.4美元起,支持使用PayPal或者支付宝等付款方式。下面列出部分日本VPS主机配置信息,价格以月付为例。CPU:...

buyvm美国大硬盘VPS,1Gbps带宽不限流量

buyvm正式对外开卖第四个数据中心“迈阿密”的块存储服务,和前面拉斯维加斯、纽约、卢森堡一样,依旧是每256G硬盘仅需1.25美元/月,最大支持10T硬盘。配合buyvm自己的VPS,1Gbps带宽、不限流量,在vps上挂载块存储之后就可以用来做数据备份、文件下载、刷BT等一系列工作。官方网站:https://buyvm.net支持信用卡、PayPal、支付宝付款,支付宝付款用的是加元汇率,貌似...

里氏代换原则为你推荐
stackoverflowerrorjava.lang.StackOverflowError 是什么意思科来网络分析系统如何破解电信星空极速?论坛源码求高手推荐一个好的论坛源码?要可以购买版权的那种,要便宜的foxmail邮箱注册如何注册FOXMAIL邮箱的帐号啊?rdlregardless是什么意思调度系统1.说明高级调度、中级调度和低级调度的基本含义。数秦科技浙江数链科技有限公司怎么样?radius认证电信或网通的RADIUS认证都记录些什么?谁能说说ISP的宽带帐号检查流程ruby语言Ruby是一种什么样的语言,主要用来做什么,现在有一家公司让我从java转ruby,我很犹豫?cf加速器玩CF需要用加速器吗?
免费试用vps 万网域名解析 debian6 大容量存储器 柚子舍官网 工作站服务器 国外代理服务器地址 免费活动 hktv 卡巴斯基是免费的吗 免费私人服务器 web应用服务器 游戏服务器出租 云服务器比较 测速电信 服务器托管价格 谷歌搜索打不开 SmartAXMT800 register.com 更多