为什么“;接口没有实现”?-C#
本文关键字:实现 -C# 接口 为什么 | 更新日期: 2023-09-27 17:59:44
我一直在阅读一些与多重继承和接口相关的代码理论。它在所有地方都说interface is a class without implementation
。
1) 没有在接口中实现方法/函数有什么用?它是否支持在继承接口的不同类中实现同一方法?
2) 大多数代码示例似乎都显示了void
接口方法。接口函数/方法总是void
吗?
对于问题1:是的,这是使用接口的原因之一。接口通常用作组件的API。实际的实现可能对消费者来说是未知的,通过单元测试支持松耦合和可测试性。
关于问题2:不,接口方法可以具有与类方法相同的方法签名。
1) 在界面是否支持相同的多个实现继承接口的不同类中的方法?
是的。
2) 大多数代码示例似乎都显示了void接口方法接口函数/方法总是无效的吗
没有。一点也不。它可以返回任何东西。
对于1)是的,你的想法是正确的。假设您有一个接口,它只有一些方法makeSound
。现在您可以在一些Guitar
类和一些Drums
类中实现该接口。您只需要知道程序中有一些实现makeSound
的对象,就可以调用该方法。无需知道,实际输出/声音会是什么。
对于2)否,接口可以包含具有任何签名的方法。