为什么“界面没有实现”? - C#

时间:2013-02-15 11:35:44

标签: c# interface implementation

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

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

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

3 个答案:

答案 0 :(得分:1)

  

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

YES。

  

2)那里的大多数代码样本似乎都显示出无效接口   方法。 界面功能/方法总是无效吗?

没有。一点也不。它可以返回任何东西。

答案 1 :(得分:1)

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

For 2)No,接口可以包含任何签名的方法。

答案 2 :(得分:1)

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

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

相关问题