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

里氏代换原则  时间: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——里氏替换原则。

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

^_^

PacificRack(年付低至19美元),夏季促销PR-M系列和多IP站群VPS主机

这几天有几个网友询问到是否有Windows VPS主机便宜的VPS主机商。原本他们是在Linode、Vultr主机商挂载DD安装Windows系统的,有的商家支持自定义WIN镜像,但是这些操作起来特别效率低下,每次安装一个Windows系统需要一两个小时,所以如果能找到比较合适的自带Windows系统的服务器那最好不过。这不看到PacificRack商家有提供夏季促销活动,其中包括年付便宜套餐的P...

ShockHosting日本机房VPS测试点评

这个月11号ShockHosting发了个新上日本东京机房的邮件,并且表示其他机房可以申请转移到日本,刚好赵容手里有个美国的也没数据就发工单申请新开了一个,这里做个简单的测试,方便大家参考。ShockHosting成立于2013年,目前提供的VPS主机可以选择11个数据中心,包括美国洛杉矶、芝加哥、达拉斯、杰克逊维尔、新泽西、澳大利亚、新加坡、日本、荷兰和英国等。官方网站:https://shoc...

vpsdime:VPS内存/2核/VPS,4G内存/2核/50gSSD/2T流量/达拉斯机房达拉斯机房,新产品系列-Windows VPS

vpsdime上了新产品系列-Windows VPS,配置依旧很高但是价格依旧是走低端线路。或许vpsdime的母公司Nodisto IT想把核心产品集中到vpsdime上吧,当然这只是站长个人的猜测,毕竟winity.io也是专业卖Windows vps的,而且也是他们自己的品牌。vpsdime是一家新上来不久的奇葩VPS提供商,实际是和backupspy以及crowncloud等都是同一家公司...

里氏代换原则为你推荐
一物一码什么是一物一码、一品一码?谁家做的比较好啊?建站abc怎么取消技术支持: 建站ABC诺诺云代账上海的亮证节有讲到诺诺云代账,产品如何?rdlDVD±RW/±RDL/RAM 具体什么意思oracle索引如何在ORACLE数据库的字段上建立索引deviceid如何查看自己安卓手机的Android Device IDeditplus破解版DBTools Manager Professional 破解版在哪里可以下载?保留两位有效数字什么叫保留两位有效数字layoutsubviewsios有没有类似tablayout的控件51信用卡论坛51信用卡贷了1200 现在还不上怎么办
什么是域名 3322动态域名注册 万网免费域名 中国域名网 域名抢注工具 win8升级win10正式版 申请空间 91vps 空间首页登陆 789 国外的代理服务器 cdn服务 新疆服务器 privatetracker ubuntu安装教程 tracert vi命令 网络安装 g6950 流媒体服务器软件 更多