c# - 继承和接口(interface) .NET

标签 c# oop

奇怪的问题:

假设我有一个名为 BaseFoo 的基类。我有一个接口(interface),其中包含一些名为 IFoo 的方法。我在 BaseFoo 下有很多类。

如果我在 BaseFoo 中实现接口(interface),就不需要在继承的类中实现,对吗?

好的,但假设我有一个通用函数可以处理 IFoo。我需要明确声明它们实现了 IFoo 吗?

像这样(伪代码)

public class BaseFoo:IFoo;

public interface IFoo;

我应该这样做吗?

public class AmbarFoo:BaseFoo,IFoo

还是?

public class AmbarFoo:BaseFoo

什么是最正确的方法?效果一样吗?如果我测试 AmbarFoo 是否是 IFoo,我会得到什么?

谢谢

最佳答案

不管怎样,它的行为都是一样的。如果您想重新实现具有显式接口(interface)实现的接口(interface),您只需要重述接口(interface)名称。 AmbarFoo 的一个实例确实会“说”它实现了 IFoo

关于c# - 继承和接口(interface) .NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2072946/

相关文章:

c# - 从服务器上的 SignalR hub 设置 cookie

c# - ASP.NET MVC 将参数作为 url 的一部分传递

linux - Linux 的面向对象 shell?

javascript - 类模拟中的 JS 和方法

Javascript将对象值分配给新对象

C# - 使所有派生类调用基类构造函数

c# - "using static"指令与Watch窗口不配合

c# - 如何编写具体类实现相同接口(interface)/服务的服务定位器模式?

PHP 对象 - 模式和正确用法

java - 使用输入文件创建一个对象并将该对象添加到一个数组中,并让它打印出该数组的信息