里氏替换原则(Liskov Substitution Principle,简称LSP): 子类可以替换父类 继承有一些优点: 任何基类可以出现的地方,子类一定可以出现。里氏替换原则是继承复用的基石,只有当衍生类可以替换基类,软件单位的功能不受到影响时,即基类随便怎么改动子类都不 ...
一 里氏替换原则 如果说实现开闭原则的关键步骤就是抽象化,那么基类 父类 和子类的继承关系就是抽象化的具体实现,所以里氏替换原则就是对实现抽象化的具体步骤的规范。即:子类可以扩展基类 父类 的功能,但不能改变父类原有的功能。 定义:一个软件实体如果适用一个父类的话,那一定是适用于其子类,所有引用父类的地方必须能透明地使用其子类的对象,子类对象能够替换父类对象,而程序逻辑不变。 里氏替换原则最核心得 ...
2021-06-10 11:10 2 354 推荐指数:
里氏替换原则(Liskov Substitution Principle,简称LSP): 子类可以替换父类 继承有一些优点: 任何基类可以出现的地方,子类一定可以出现。里氏替换原则是继承复用的基石,只有当衍生类可以替换基类,软件单位的功能不受到影响时,即基类随便怎么改动子类都不 ...
里氏替换原则强调的是设计和实现要依赖于抽象而非具体;子类只能去扩展基类,而不是隐藏或者覆盖基类,它包含4层含义. 一、里氏替换4原则 1、子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法,父类中凡是已经实现好的方法 ...
1 里氏替换原则定义 Liskov于1987年提出了一个关于继承的原则“Inheritance should ensure that any property proved about supertype objects also holds for subtype objects.”——“继承 ...
前言 上一节中我们介绍了,依赖倒置,依赖倒置利用抽象的稳定性来架构我们的系统,是我们经常能遇到的一种原则,比如说面向接口编程。 这一节中,我们来说说里氏替换原则,这个原则其实非常非常的简单,其实与依赖倒置相结合来看,就是希望我们用抽象的方法来构建项目而非具体的实现,里氏替换原则就是推荐 ...
OO中继承的包含一层这样的含义:父类中凡是已经实现好的方法,实际上是在设定规范的契约,虽然它不强制要求所有的父类遵循这些契约,但是如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏。 继承在给程序设计带来便利的同时,也带来了弊端。比如使用继承会给程序带入侵入性,程序 ...
我们以汽车分类管理程序为例来介绍合成复用原则的应用。 分析:汽车按“动力源”划分可分为汽油汽车、电动汽车等;按“颜色”划分可分为白色汽车、黑色汽车和红色汽车等。如果同时考虑这两种分类,其组合就很多。如图所示是用继淨:关系实现的汽车分类的类图。 从图中可以看出 ...
一、概念 合成/聚合复用原则是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。 概括:要尽量使用合成/聚合,尽量不要使用继承。 二、依赖和关联 依赖是类与类之间的连接,表示一个类依赖于另外一个类的定义。依赖关系仅仅描述 ...
里氏替换原则 前言:今天是3.15,一个特殊的日子。不知道还会曝光出多少家不良企业,更不知道潜藏的未被曝光的企业数量之巨有没有超出我的想象力。每年都会爆出一些诸如“塑化剂、毒胶囊、问题奶、速成鸡”等等新的食品安全关键词,走进餐馆,走进食堂,走进超市,还真不知道什么东西敢碰。新 ...