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

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

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

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

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

本博客的所有博文,大都来自自己的工作实践。希望对大家有用,欢迎大家交流和学习。 我的新站:www.huishougo.com
原文地址:https://www.cnblogs.com/zhouqingda/p/5515928.html