当前位置: 首页 > 面试题库 >

班级的“合同”是什么意思

谷越
2023-03-14
问题内容

我正在阅读[Java编程语言》一书。在解释
覆盖 方法的章节中,它说:

使覆盖方法(在子类中)比在超类中更不易于访问将违反超类的约定……

整个文本是可以理解的。我唯一的问题是什么是 超类合同合同Java 类意味着什么?


问题答案:

Java类中的合同类似于现实世界中的合同-在非技术方面:

同意该类将公开某些方法,某些属性和某些行为。

更多技术,从这里开始:(我加粗了)

如果您使用的所有Java类(包括您自己的Java类)都履行了它们的承诺,这会很好吗?实际上,如果您确实确切知道给定班级的承诺,那岂不是很好吗?如果您同意,请继续阅读[…]

合同设计

合同设计(DBC)软件开发技术通过保证系统的每个组件都能达到其期望值来确保高质量的软件。作为使用DBC的开发人员,您可以将组件合同指定为组件界面的一部分。
合同指定该组件对客户的期望以及客户对它的期望。



 类似资料:
  • 问题内容: 如果我将Class声明为字段: Eclipse给我警告: 类是原始类型。对泛型类型Class的引用应参数化 在实践中这意味着什么?我为什么要这样做呢?如果我要求Eclipse提供“快速修复”,它将给我: 这似乎并没有增加太多价值,但不再发出警告。 编辑:为什么类通用?您能否举一个参数化的例子,即可以有效使用除以外的东西吗? 编辑:哇!我还没有意识到这一点。我也看过Java拼图游戏,这肯

  • 问题内容: 我正在看一些从Java字节码获得的反汇编代码。我看到一些声明如下: 我无法弄清楚什么或平均值。有人可以帮我理解这部分吗? 问题答案: 合成场,(2) 甲 编译器创建的 字段,该字段的本地内部类链接到一个块的局部变量或引用类型参数。 另请参见 或Java中的综合类。

  • 问题内容: 假设我有一个名为Main.java的文件,其中包含以下代码: 它是放在特定的包装中,还是放在一个未命名的包装中? 谢谢 问题答案: 不在命名包中的类在 未命名包中 。因此,完整的类名是。 这样的类不能使用来自名为包,除了通过反射。 JLS说: Java SE平台提供未命名的程序包主要是为了在开发小型或临时应用程序或刚开始开发时提供方便。

  • 问题内容: 我一直在尝试学习设计模式。该网站使用关键字,但我不知道它的作用。 我在网上搜索后发现,它与多线程和内存有一定关系,但是我是机械工程师,不知道这意味着什么。 有人可以帮我理解线程和关键字吗? 问题答案: C ++中没有关键字。 但是,在Java中有一种方法对于方法来说意味着以下两件事: * 同一对象上的两个同步方法调用不可能交错。当一个线程正在为对象执行同步方法时,所有其他为同一对象块调

  • 我在理解语句。我已经在谷歌上搜索并阅读了很多关于这方面的内容,但仍然觉得很难理解。 据我所知,高内聚意味着我们应该有专门的类来执行特定的功能。希望这是正确的?就像信用卡验证类一样,它专门用于验证信用卡。 还不明白低耦合是什么意思?