关于LSP原则的一点思考

我们在讲LSP原则的时候,讲到父类和子类的关系,按照现实中的逻辑来判断,有一个值得关注的地方:
即不能说“‘子类’是一个‘父类’”,
一般的逻辑中,我们说“飞机 是 交通工具”
“手枪 是 武器”
这些继承都满足我们的日常直觉。
但是我们提到了 “正方形 是 长方形” 则不满足这样的直觉
关于LSP原则的一点思考
其根本原因在于,正方形比长方形在原有的属性中有更强的限制,所有的长方形并没有“强制要求”它的属性所满足的要求。

再举个例子:交通工具并没有对诸如外形 *数量 重量 价格 载人数等属性有强硬性的要求。

这样就能从直观上来理解LSP原则。