我是靠谱客的博主 整齐蜗牛,最近开发中收集的这篇文章主要介绍【设计模式】里氏代换原则,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。

//长方形类

public class Rectangle{

setWidth(int width){
    this.width=width;
}
setHeight(int height){
    this.height=height
}

}

// 正方形类

public class Square extends Rectangle

{
setWidth(int width){
this.width=width;
this. height=width;
}
setHeight(int height){
this.setWidth(height);
}
}

来一段测试代码:

public void resize(Rectangle r){
while(r.getHeight()<=r.getWidth){
r.setHeight(r.getWidth+1);
}
}

把Rectangle 的对象传进去 和 Square 传进去,运行的效果是不一致的,这也就违背了“任何基类可以出现的地方,子类一定可以出现”的原则,这就是里氏代换原则,你理解了吗。

最后

以上就是整齐蜗牛为你收集整理的【设计模式】里氏代换原则的全部内容,希望文章能够帮你解决【设计模式】里氏代换原则所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部