我不完全理解如何使用接口,所以我必须问:-)
我使用 BaseClass,它实现了 IBaseClass 接口。这些接口仅包含一个声明:
public interface IBaseClass
{
void Refresh ();
}
所以我在我的 Baseclass 中实现了 Refresh 方法:
public void Refresh ()
{
Console.WriteLine("Refresh");
}
现在我想使用一些从这些 Baseclass 扩展并实现 IBaseClass 接口的类:
public class ChildClass : BaseClass,IBaseClass
{
}
但是由于将“Refresh”实现到我的 BaseClass 中,我不必再次实现该方法。我应该做什么,强制对 BaseClass 的所有子类以及子类的所有子类执行“刷新”。
谢谢小基
您不能强制派生类按照您指定的方式重新实现该方法。您有三个选择:
- 不定义
refresh
在基类中。该接口将强制子类实现它。
- 如果接口的唯一目的是强制实现并将基类声明为
abstract
也refresh
,您不会给出实现。
- Define
refresh
在基类中为virtual
。这允许覆盖但不会强制覆盖。就是这样ToString()
works.
这一切都假设您的基类大于单个方法。如果您的代码确实与您发布的代码完全相同,那么 Oded 的答案是最佳选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)