其他分享
首页 > 其他分享> > 设计模式——前言

设计模式——前言

作者:互联网

分类

创建型(Creational)、结构型(Structural)、行为型(Behavioral)​

要点

里氏替换原则

里氏替换原则(Liskov Substitution Principle,LSP)的含义是:要保证子类能“无害地”替换基类。

类B派生自类A,现在,把程序中所有A类实例都换成B类实例,同时使得所有A类指针都指向B类实例,若此时程序仍然能够运行且不发生逻辑错误(如不会由做加法变成做减法),则称B对A的扩展满足里氏替换原则。

里氏替换原则不仅是对子类的约束,也是对父类的约束。那就是:父类尽量不要改动,即使不得已要改动,也要保证能兼容所有子类(即可以被任何子类所代替)。例如,父类A(如超级英雄类)中方法foo用来计算角色武力值,子类B(如蝙蝠侠类)用来计算蝙蝠侠的武力值。现在,把父类A的foo方法改为计算角色的生命值。此时,子类B不能代替父类A,因为B.foo用来计算武力值,不能用来计算生命值(即此时A.foo的功能)。

参考[1][2]。

参考

[1] 里氏替换原则LSP|极客教程​ [2] 里氏替换原则——面向对象设计原则​

标签:设计模式,前言,--,里氏,子类,父类,替换
来源: https://www.cnblogs.com/zpcdbky/p/15866491.html