奇怪的问题:
假设我有一个名为 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/