施工人员是否应遵守Liskov替代原则?
我通常会尝试确保我的对象实例符合Liskov替换原则,但我一直想知道人们是否认为LSP也应该适用于构造函数?
我已经尝试使用谷歌搜索,但无论如何我都无法找到任何强烈的意见。
我应该注意到我的大部分编码都是在Ruby中,但我有时会发现我的子类构造函数与父类略有不同。它们使用相同的基本参数集,通常是额外的参数。有时这也会发生在其他类方法中。
在我的脑后,这总是感觉像LSP违规,但我想看看是否有其他人也有这种感觉。
没有找到相关结果
已邀请:
3 个回复
屡倒雷图
可能是
的正确子类型,但需要一个额外的参数:
。如果你不能做这样的事情,那么这种子类型就没那么有用了。 在某种意义上,构造函数实际上不是类型的一部分:它是一个返回该类型元素的函数。因此,为子类型定义新的构造函数不会破坏LSV。
肉簧咸缮
闪脖