里氏替换原则(Liskov Substitution Principle,简称LSP): 子类可以替换父类 继承有一些优点: 任何基类可以出现的地方,子类一定可以出现。里氏替换原则是继承复用的基石,只有当衍生类可以替换基类,软件单位的功能不受到影响时,即基类随便怎么改动子类都不 ...
里氏替换原则强调的是设计和实现要依赖于抽象而非具体 子类只能去扩展基类,而不是隐藏或者覆盖基类,它包含 层含义. 一 里氏替换 原则 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法,父类中凡是已经实现好的方法 相对于抽象方法而言 ,实际上是在设定一系列的规范和契约,虽然它不强制要求所有的子类必须遵从这些契约,但是如果子类对这些非抽象 ...
2020-03-26 16:10 0 1898 推荐指数:
里氏替换原则(Liskov Substitution Principle,简称LSP): 子类可以替换父类 继承有一些优点: 任何基类可以出现的地方,子类一定可以出现。里氏替换原则是继承复用的基石,只有当衍生类可以替换基类,软件单位的功能不受到影响时,即基类随便怎么改动子类都不 ...
1 里氏替换原则定义 Liskov于1987年提出了一个关于继承的原则“Inheritance should ensure that any property proved about supertype objects also holds for subtype objects.”——“继承 ...
前言 上一节中我们介绍了,依赖倒置,依赖倒置利用抽象的稳定性来架构我们的系统,是我们经常能遇到的一种原则,比如说面向接口编程。 这一节中,我们来说说里氏替换原则,这个原则其实非常非常的简单,其实与依赖倒置相结合来看,就是希望我们用抽象的方法来构建项目而非具体的实现,里氏替换原则就是推荐 ...
OO中继承的包含一层这样的含义:父类中凡是已经实现好的方法,实际上是在设定规范的契约,虽然它不强制要求所有的父类遵循这些契约,但是如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏。 继承在给程序设计带来便利的同时,也带来了弊端。比如使用继承会给程序带入侵入性,程序 ...
里氏替换原则 前言:今天是3.15,一个特殊的日子。不知道还会曝光出多少家不良企业,更不知道潜藏的未被曝光的企业数量之巨有没有超出我的想象力。每年都会爆出一些诸如“塑化剂、毒胶囊、问题奶、速成鸡”等等新的食品安全关键词,走进餐馆,走进食堂,走进超市,还真不知道什么东西敢碰。新 ...
里氏替换原则的定义是:所有引用基类的地方必须能透明化地使用其子类的对象。 里氏替换原则针对的问题 有一个功能P1,由类A完成。现需要将功能P1进行扩展,扩展后的功能为P,其中P由原有功能P1与新功能P2组成。新功能P由类A的子类B来完成,则子类B在完成新功能P2的同时,有可能会导致原有功能P1 ...
目录: 设计模式六大原则:单一职责原则 设计模式六大原则:接口隔离原则 设计模式六大原则:依赖倒置原则 设计模式六大原则:里氏替换原则 设计模式六大原则:迪米特法则 设计模式六大原则:开闭原则 里氏替换原则: 子类应当可以替换父类并出现在父类能够 ...
一、里氏替换原则 如果说实现开闭原则的关键步骤就是抽象化,那么基类(父类)和子类的继承关系就是抽象化的具体实现,所以里氏替换原则就是对实现抽象化的具体步骤的规范。即:子类可以扩展基类(父类)的功能,但不能改变父类原有的功能。 定义:一个软件实体如果适用一个父类的话,那一定是适用于其子类 ...