Java:没有接口(interface)实现?

标签 java c++ interface design-patterns

今天我收到了我的书“Head First Design Patterns”。到目前为止非常有趣的东西,但是我对它的内容有疑问。

我没有 Java/C# 背景,现在也不希望跳入这些语言(我想先专注于 C++)。书中说 java 没有接口(interface)的实现...这意味着对于该接口(interface)的每次更改,您都必须修改实现该接口(interface)的所有子类。

这是如何在 C++ 中完成的?我错过了什么?

最佳答案

这本书的作者的意思是,如果您更改接口(interface)成员的签名或添加新成员,您将需要在实现类中进行这些更改,以便它们继续实现接口(interface)。

只要您的接口(interface)成员使用完全相同的签名(即具有相同的名称、返回类型以及参数的顺序和类型)实现,您就可以根据需要以任何方式更改实现类。

我的印象是您不太了解接口(interface)的工作原理,所以我建议您阅读 C# interface specification on MSDN我认为这在主题上非常清楚(并且在 Java 中几乎相同,除了在 Java 中您使用“implements”关键字而不是冒号 (:) 来声明一个类实现了一个具体接口(interface))。

关于Java:没有接口(interface)实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/492741/

相关文章:

c# - 如何在不提及派生类名称的情况下返回接口(interface)类型?

c++ - 无法在 C++ 错误中实例化抽象类

java - jackson 序列化为 json,不包括类型

java - 避免主线程上 I/O 操作的最佳方法是什么

c++ - 用大量独特数据填充 C++ 中的嵌套结构

c++ - 具有操作数据重置功能的字符数组

java - 如何在不锁定 LDAP 用户的情况下在 spring security 中阻止 LDAP 用户帐户?

java - 如何从在线读取Json而不是 Assets 文件夹

c++ - 是什么让这个桶排序函数变慢了?

c# - 如果它存在而不是数据库,我如何缓存对象并从内存中读取?