我正在阅读[Java编程语言》一书。在解释 覆盖 方法的章节中,它说:
使覆盖方法(在子类中)比在超类中更不易于访问将违反超类的约定……
整个文本是可以理解的。我唯一的问题是什么是 超类合同 ? 合同 对 Java 类意味着什么?
Java类中的合同类似于现实世界中的合同-在非技术方面:
同意该类将公开某些方法,某些属性和某些行为。
更多技术,从这里开始:(我加粗了)
如果您使用的所有Java类(包括您自己的Java类)都履行了它们的承诺,这会很好吗?实际上,如果您确实确切知道给定班级的承诺,那岂不是很好吗?如果您同意,请继续阅读[…] 合同设计 合同设计(DBC)软件开发技术通过保证系统的每个组件都能达到其期望值来确保高质量的软件。作为使用DBC的开发人员,您可以将组件合同指定为组件界面的一部分。 合同指定该组件对客户的期望以及客户对它的期望。
如果您使用的所有Java类(包括您自己的Java类)都履行了它们的承诺,这会很好吗?实际上,如果您确实确切知道给定班级的承诺,那岂不是很好吗?如果您同意,请继续阅读[…]
合同设计
合同设计(DBC)软件开发技术通过保证系统的每个组件都能达到其期望值来确保高质量的软件。作为使用DBC的开发人员,您可以将组件合同指定为组件界面的一部分。 合同指定该组件对客户的期望以及客户对它的期望。