在不违反替代原则的情况下,我很难理解前置条件和后置条件必须如何工作。所以让我们假设我们有一个类Rectangle
并且——Square
如何关联它们?哪一个必须是子类?
所以我理解 a 的前置条件Subtype
可以更弱,这意味着我们可以在子类中取一个主要的“集合”,另一方面,后置条件可以更强,所以我们可以返回一个次要的“集合” ' 东西的。如何在我的示例中应用这些规则?
我读到基类必须比子类“做”得少,所以我认为这Square
必须是我们的基类和Rectangle
子类。因此, in 的前置条件Square
必须是 assert that height == width
,但后置条件和 in 的前置条件Rectangle
呢?