为什么“;接口没有实现”?-C#

本文关键字:实现 -C# 接口 为什么 | 更新日期: 2023-09-27 17:59:44

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

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

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

为什么“;接口没有实现”?-C#

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

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

1) 在界面是否支持相同的多个实现继承接口的不同类中的方法?

是的。

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

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

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

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