软件设计----LisKov替换原则(LSP)

Posted 达叔叔-----tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件设计----LisKov替换原则(LSP)相关的知识,希望对你有一定的参考价值。

LisKov替换原则的定义:一个软件实体如果使用的是一个基类的话,一定适用于其子类,而且根本不能觉察出基类对象和子类对象的区别。

1)怎么理解上面的概念?就是我们程序设计的子类型能够完全替换父类型,而不会让调用父类型的客户程序从行为上有任何改变。

2)这条原则的意义是什么?这条原则主要是为了保证代码对扩展开放,只要做到子类可以完全替代基类的行为,那么新增的具体子类在重载父类时,就不会对客户代码带来任何不良影响,因而实现了对扩展开放。

在设计的时候,我们就可以使用这个原则,来判断我们设计的子类是否合理。思考:正方形设计成矩形的子类,行不?

以上是关于软件设计----LisKov替换原则(LSP)的主要内容,如果未能解决你的问题,请参考以下文章

面向对象设计原则 里氏替换原则(Liskov Substitution Principle)

"围观"设计模式--里氏替换原则(LSP,Liskov Substitution Principle)

软件构造第五章第二节 设计可复用的软件

面向对象设计的原则

SC review 5.2 设计可复用软件

下面的例子是不是违反了 Liskov 替换原则?