AntSoul

它总是在行走,行走,永远的行走…… 行走是它生存的恒久姿态和最佳造型。 它似乎有一双不知疲倦的脚。 ———我说的是蚂蚁。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  42 随笔 :: 0 文章 :: 1 评论 :: 0 Trackbacks
LSP:如果对每一个类型为T1的对象的O1,都有类型为T2的对象O2,使得以T1定义的所有的程序P在所有对象O1都代换为O2时,程序P没有发生变化,那么类型T2是类型T1的子类型。换言,一个软件实体如果使用的是一个基类的话,那么一定适合与其子类,而且它根本不能察觉出基类对象与子类对戏的区别。
eg:
假设有两个类,一个是Base类,一个是Sub类,并且Sub类是Base类的子类。那么有一个方法如果可以接受基类对象b的话:method(Base b),那么它必然也可以接受一个子类对象s,也即有:method(Sub s);LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能会收到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的功能。LSP反之就不成立了。
posted on 2007-03-25 17:39 yok 阅读(277) 评论(0)  编辑  收藏 所属分类: CoreJava

只有注册用户登录后才能发表评论。


网站导航: