[b]里氏代换原则[/b]
如果对每一个类型为T1的对象O1,都有类型为T2的对象O2,使得程序P的所有对象O1被替换成O2时,程序P的行为没有变化,那么类型T2是类型T1的子类型。
里氏替换原则是继承复用的基石。只有当衍生类可以替换掉基类,软件单位的功能不会受到影响时,基类才能真正的被复用,而衍生类也才能够在基类的基础上增加新的行为。
里氏代换原则讲的是基类与子类的关系。
在设计模式中的应用:
1、策略模式。 2、合成模式。 3、代理模式。
一般而言,如果有两个具体类A和B有继承关系,那么一个最简单的修改方案是建立一个抽象类C,然后让类A和类B成为抽象类C的子类。
如果对每一个类型为T1的对象O1,都有类型为T2的对象O2,使得程序P的所有对象O1被替换成O2时,程序P的行为没有变化,那么类型T2是类型T1的子类型。
里氏替换原则是继承复用的基石。只有当衍生类可以替换掉基类,软件单位的功能不会受到影响时,基类才能真正的被复用,而衍生类也才能够在基类的基础上增加新的行为。
里氏代换原则讲的是基类与子类的关系。
在设计模式中的应用:
1、策略模式。 2、合成模式。 3、代理模式。
一般而言,如果有两个具体类A和B有继承关系,那么一个最简单的修改方案是建立一个抽象类C,然后让类A和类B成为抽象类C的子类。