交易软件定制系统任何基类可以出现的地方,子类也可以出现,这一思想表现为对继承机制的约束规范,只有子类能够替换其基类时,才能够保证系统在运行期内识别子类,这是保证继承复用的基础。
1、第一种定义方式相对严格:如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有变化,那么类型S是类型T的子类型。
2、第二种更容易理解的定义方式:所有引用基类的地方必须能透明地使用其子类的对象。即子类能够必须能够替换基类能够从出现的地方,子类也能在基类的基础上新增行为。
基类和子类的关系,这种关系存在时,里氏代换原则才存在。
2、里氏代换原则可以通俗表述为:在软件中如果能够使用基类对象,那么一定能够使用其子类对象。把基类都替换成它的子类,程序将不会产生任何错误和异常,反过来则不成立,如果一个软件实体使用的是一个子类的话,那么它不一定能够使用基类。
3、里氏代换原则是实现开闭原则的重要方式之一,由于使用基类对象的地方都可以使用子类对象,因此在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,用子类对象来替换父类对象。
领取专属 10元无门槛券
私享最新 技术干货