里氏代换原则小结

里氏代换原则是对“开-闭”原则的补充,是对实现抽象化具体步骤的规范。

里氏代换原则的严格表达是:
    如果对每一个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义所有程序P在所有的对象o1都代换成o2时,程序P的行为没有变化,那么类型T2是类型T1的子类型。
    换言之,如果一个软件实体使用的是一个基类的话,那么一定使用于其子类,而且它根本不能觉察出基类对象与子类对象的区别。
    比如,有两个类,一个是基类Base,一个是其子类Derived。如果有一方法能接受一个Base类的对象b的话:
        method(b);
 
   那么它必然可以接受一个子类Derived的对象d,既也可以有
       
method(d);
    里氏代换原则是继承复用的基石。只有当衍生类可以替换掉基类,软件单位的功能呢不受影响时,基类才能被真正的复用,而衍生类才能在基类的基础上增加新的行为。

Kyle Wang

posted on 2011-07-18 21:55 王树东 阅读(62) 评论(0)  编辑  收藏


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


网站导航:
 
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

公告

常用链接

留言簿

随笔分类(17)

随笔档案(15)

文章分类(4)

文章档案(5)

收藏夹(4)

Algorithm

Design

Environment Setup

Installer

Maven

MINA

OS

Skills for Java

VIM

搜索

最新评论

阅读排行榜

评论排行榜