0

我一直在阅读一些与多重继承和接口相关的代码理论。它在所有地方都说interface is a class without implementation

1)没有在接口中实现方法/功能有什么用?是否支持在继承一个接口的不同类中对同一方法的多个实现?

2)那里的大多数代码示例似乎都显示了void接口方法。接口函数/方法总是void吗?

4

3 回答 3

1

1)没有在接口中实现方法/功能有什么用?是否支持在继承一个接口的不同类中对同一方法的多个实现?

是的。

2)那里的大多数代码示例似乎都显示了 void 接口方法。接口函数/方法总是无效的吗?

一点都不。它可以返回任何东西。

于 2013-02-15T11:37:54.810 回答
1

1)是的,你的想法是正确的。假设你有一个只有一些方法的接口makeSound。现在您可以在某个Guitar类和某个Drums类中实现该接口。你只需要在你的程序中知道你有一些实现的对象,makeSound这样你就可以调用那个方法。无需知道实际的输出/声音是什么。

对于 2) 否,接口可以包含具有任何签名的方法。

于 2013-02-15T11:38:32.643 回答
1

问题 1:是的,这是使用接口的原因之一。接口通常用作组件的 API。消费者可能不知道实际的实现,通过单元测试支持松散耦合和可测试性。

关于问题2:不,接口方法可以具有与类方法相同的方法签名。

于 2013-02-15T11:39:21.313 回答