美文网首页
构建扩展性更好的系统——里氏替换原则

构建扩展性更好的系统——里氏替换原则

作者: 青峰星宇 | 来源:发表于2018-05-23 10:43 被阅读16次

里氏替换原则(SLP)

就不说高大上的学术定义了,通俗讲,就是只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何的错误或异常,使用者可能根本就不需要知道是父类还是子类。讲白了,里氏替换原则的核心原理就是抽象(抽象有依赖于继承这个特性)。下面我们顺便说下继承的优缺点。

继承的优点:

1)代码重用,减少创建类的成本,每个子类都拥有父类的所有方法和属性。

2)子类与父类基本相似,但又与父类有所区别

3)提高代码的可扩展性

继承的缺点:

1)继承是侵入式的,只要继承必须拥有父类的所有属性和方法

2)可能造成子类代码冗余、灵活性降低,因为子类必须拥有父类的属性和方法

里氏替换原则和开闭原则往往是生死相依、不离不弃的,通过里氏替换来达到对扩展开放,对修改关闭的效果。

然而,这两个原则都同时强调了一个OOP的重要特性——抽象

因此,在开发过程中运用抽象是走向代码优化的重要一步。


相关文章

  • 面向对象的六大原则

    一、优化代码第一步——单一职责原则 二、让程序更稳定、更灵活——开闭原则 三、构建扩展性更好的系统——里氏替换原则...

  • 构建扩展性更好的系统——里氏替换原则

    里氏替换原则(SLP) 就不说高大上的学术定义了,通俗讲,就是只要父类能出现的地方子类就可以出现,而且替换为子类也...

  • 1.3构建扩展性更好的系统------里氏替换原则

    里氏替换原则第定义是:所有引用基类的地方必须能透明地使用其子类的对象。 我们知道,面相对象的语言的三大特点是继承、...

  • Android设计模式读书笔记

    设计模式原则 单一职责 开闭原则 里氏替换 接口隔离 依赖倒置(也称依赖反转) 迪米特原则(更好的扩展性) 创建型...

  • 里氏替换原则

    里氏替换原则 “里氏替换原则(Liskov Substitution Principle,LSP)” 定义 一:(...

  • 里氏替换原则

    个人博客原文:里氏替换原则 设计模式六大原则之二:里氏替换原则。 简介 姓名 :里氏替换原则 英文名 :Lisko...

  • 设计模式之里氏替换原则

    设计模式之里氏替换原则 里氏替换原则(LSP: Liskov Substitution Principle) 定义...

  • 面向对象的原则里氏替换原则

    里氏替换原则 里氏替换原则的英文全称是Liskov Substitution Principle,缩写是LSP。 ...

  • 里氏替换原则

    里氏替换原则 里氏替换原则(Liskov Substitution Principle, LSP) 父类能出现的地...

  • 六、里氏替换原则

    里氏替换原则(Liskov Substitution Principle,LSP) 里氏替换原则是我认为其他几个设...

网友评论

      本文标题:构建扩展性更好的系统——里氏替换原则

      本文链接:https://www.haomeiwen.com/subject/vszljftx.html