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

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

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

^_^

远程登录VNC无法连接出现

今天有网友提到自己在Linux服务器中安装VNC桌面的时候安装都没有问题,但是在登录远程的时候居然有出现灰色界面,有三行代码提示"Accept clipboard from viewers,Send clipboard to viewers,Send primary selection to viewers"。即便我们重新登录也不行,这个到底如何解决呢?这里找几个可以解决的可能办法,我们多多尝试。...

福州云服务器 1核 2G 2M 12元/月(买5个月) 萤光云

厦门靠谱云股份有限公司 双十一到了,站长我就给介绍一家折扣力度名列前茅的云厂商——萤光云。1H2G2M的高防50G云服务器,依照他们的规则叠加优惠,可以做到12元/月。更大配置和带宽的价格,也在一般云厂商中脱颖而出,性价比超高。官网:www.lightnode.cn叠加优惠:全区季付55折+满100-50各个配置价格表:地域配置双十一优惠价说明福州(带50G防御)/上海/北京1H2G2M12元/月...

Spinservers:美国圣何塞机房少量补货/双E5/64GB DDR4/2TB SSD/10Gbps端口月流量10TB/$111/月

Chia矿机,Spinservers怎么样?Spinservers好不好,Spinservers大硬盘服务器。Spinservers刚刚在美国圣何塞机房补货120台独立服务器,CPU都是双E5系列,64-512GB DDR4内存,超大SSD或NVMe存储,数量有限,机器都是预部署好的,下单即可上架,无需人工干预,有需要的朋友抓紧下单哦。Spinservers是Majestic Hosting So...

里氏代换原则为你推荐
微信收款语音播报怎么设置微信收付款如何设置声音提示foxmail邮箱注册如何注册一个foxmail邮箱jdk6java—JDK6,在SUN公司官网下载的链接,调度系统操作系统中为什么需要调度?弹幕播放器看过的剧有一个弹幕出来的是什么播放器中文搜索引擎百度是不是全球最大中文搜索引擎?国际加速世界经济全球化加速发展的表现有哪些?在全球化趋势加强的过程中,人类共同面临的问题有哪些?12306注册12306怎么注册账号12306注册12306网站账户注册文件系统类型文件系统的类型是 NTFS。无法决定卷版本和状态。CHKDSK 被终止?
山东虚拟主机 重庆虚拟主机 vps教程 中国万网域名 host1plus simcentric raksmart 香港主机 美国php空间 tk域名 国外空间 ev证书 河南m值兑换 hkg 91vps 域名和空间 免费mysql数据库 独享主机 789 中国电信测速网站 更多