【发布时间】:2019-07-09 00:21:08
【问题描述】:
我在Her 上阅读有关“类合同”的内容,似乎每个人都表示它仅适用于public 属性和方法。是这样吗?
我认为类的契约不仅限于公共接口,还包括私有方法和字段。因此,在大多数情况下,方法的行为方式——它的访问修饰符、返回类型和抛出的异常——都在合同中。
例如下面的方法:
private String returnString() 仍然遵守将返回String 的合同。我错了吗?
【问题讨论】:
-
它只会在定义该方法的类中返回一个字符串,因为它是私有的......合同更多的是对外界可见/可用的内容
-
客户不关心(也不应该)私有方法。
-
@RobOhRob 是不是方法的返回类型和抛出的异常符合合同?就像一个类保证方法只会返回一个String类型并且只会抛出一些异常。不是合同吗?
标签: java