面向对象设计原则--里氏替换原则(LSP)

原创 2007年10月08日 16:38:00
求:子类可以替换父类并且出现在父类能够出现的任何地方

这个原则也是在贯彻GOF倡导的面向接口编程!
在这个原则中父类应尽可能使用接口或者抽象类来实现!

子类通过实现了父类接口,能够替父类的使用地方!
通过这个原则,我们客户端在使用父类接口的时候,通过子类实现!
意思就是说我们依赖父类接口,在客户端声明一个父类接口,通过其子类来实现
这个时候就要求子类必须能够替换父类所出现的任何地方,这样做的好处就是,在根据新要求扩展父类接口的新子类的时候而不影响当前客户端的使用!
说到这,肯定会有人认为和上一篇讲的OCP的作用有点类似,其实这些面向对象的基本原则就2条:1面向接口编程,而不是面向实现 2用组合而不主张用继承!
这些基本的原则在实现方法也有个共同层次,就是使用中间接口层!以此来达到类对象的低偶合,也就是抽象偶合!

呵呵,不知道这样的表述是否能让人听明白!我总觉得对一个新事物的概念是否完全理解,最基本标准就是自己是否能够讲解的让自己明白!所以这些学习笔记中,我试图使自己作为一个老师的角色把对新事物的想法和心得描述出来,再让自己以一个学生的角度去试图理解它,如果能明白,就证实自己已经这个新事物有几分了解,至少没误解!  

C++面向对象

-
  • 1970年01月01日 08:00

LSP里氏替换原则----正方形不是长方形和鸵鸟不是鸟的测试程序

//面向对象设计原则:LSP里氏替换原则 //正方形不是长方形的测试程序 #include using namespace std; //长方形类Rectangle class Rectangl...
  • smallgyy
  • smallgyy
  • 2013-07-23 14:31:01
  • 1525

UML—里氏替换原则

例子: 测试代码: #include using namespace std; //书类Book class Book { private: int width; int he...
  • LY_624
  • LY_624
  • 2016-11-08 19:46:10
  • 301

面向对象设计原则详解:里氏替换原则

定义:子类型必须能替换掉他们的基本类型。只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何错误或异常,使用者可能根本就不需要知道是父类还是子类。但是,反过来就不行了,有子类出现的地方,父...
  • nodeman
  • nodeman
  • 2015-07-31 10:06:27
  • 878

面向对象的六大原则之 —— 里氏替换原则

学习了何红辉、关爱民写的《Android设计模式》,对于面向对象的六大原则有进一步的理解,特此根据自己的理解记录总结一下 什么是里氏替换原则 面向对象的语言有三大特性:封装、继承、多态,里氏替换原则就...
  • asd2603934
  • asd2603934
  • 2016-03-01 17:13:57
  • 2104

设计原则(二)里氏替换原则(LSP)

一、什么是里氏替换原则 里氏替换原则的严格表达是:如果对每一个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有的对象o1都替换成o2时,程序P的行为没有变化,那么类型...
  • xingjiarong
  • xingjiarong
  • 2015-11-29 11:03:47
  • 2871

第3章 里氏替换原则(LSP)

一、定义 (1)、所有使用基类的地方必须能够使用子类进行替换,而程序的行为不会发生任何变化(替换为子类之后不会产生错误或者异常)。    只有这样,父类才能真正被复用,子类能够在父类的基础上增减新的属...
  • li_101357
  • li_101357
  • 2016-10-23 20:24:52
  • 460

设计模式六大原则——里氏替换原则(LSP)

概述        里氏替换原则(LSP,Liskov Substitution Principle)是关于继承机制的原则,是实现开放封闭原则的具体规范,违反了里氏替换原则必然违反了开放封闭原则。  ...
  • u010853701
  • u010853701
  • 2014-05-25 21:35:26
  • 3593

面向对象设计原则(三):里氏替换原则(LSP)

里氏替换原则(Liskov Substitution Principle,LSP),知识点包括:1、什么是里氏替换原则?2、为什么需要遵守里氏替换原则? 3、怎么实现里氏替换原则,保证子类能透明的替换...
  • tjiyu
  • tjiyu
  • 2017-08-01 19:48:35
  • 594

"围观"设计模式(2)--里氏替换原则(LSP,Liskov Substitution Principle)

在面向对象的程序设计中,里氏替换原则(Liskov Substitution principle)是对子类型的特别定义。它由芭芭拉·利斯科夫(Barbara Liskov)在1987年在一次会议上名为...
  • wangyang1354
  • wangyang1354
  • 2016-04-15 21:06:54
  • 6426
收藏助手
不良信息举报
您举报文章:面向对象设计原则--里氏替换原则(LSP)
举报原因:
原因补充:

(最多只允许输入30个字)