奇怪的问题: 想象一下,我有一个名为BaseFoo的基类.我有一个名为IFoo的方法接口.我在BaseFoo下面有很多类. 如果我在BaseFoo中实现接口,我不需要在继承的类中实现,对吗? 好的,但想象一下
想象一下,我有一个名为BaseFoo的基类.我有一个名为IFoo的方法接口.我在BaseFoo下面有很多类.
如果我在BaseFoo中实现接口,我不需要在继承的类中实现,对吗?
好的,但想象一下,我有一个处理IFoo的通用功能.我是否需要明确声明他们实施IFoo?
像这样(伪插图代码)
public class BaseFoo:IFoo; public interface IFoo;
我应该这样做吗?
public class AmbarFoo:BaseFoo,IFoo
要么?
public class AmbarFoo:BaseFoo
什么是最正确的方法?效果是否相同?如果我测试AmbarFoo是否是IFoo我会得到什么?
谢谢
无论如何,它的行为方式都是一样的.如果要使用显式接口实现重新实现接口,则只需重新声明接口名称. AmbarFoo的一个实例确实会“说”它实现了IFoo.