我想创建一个抽象类,强制限制其子类必须实现接口。我想避免在抽象类中实现接口类。下面的代码不会做我想要的。有没有人建议我能做些什么?
public interface IItem()
{
bool IsUsable();
}
public abstract class Item : IItem
{
MemberVar var;
public void DoSomething()
{
//Do something
}
}
public class Something : Item
{
public bool IsUsable()
{
return true;
}
}
答案 0 :(得分:12)
只需在抽象类中创建方法abstract
:
public abstract class Item : IItem
{
//...
public abstract bool IsUsable();
}
在继承Item
类的类中,使用override
关键字:
public override bool IsUsable()
{
// Do stuff
}
VS可以通过右键单击父抽象类并选择Implement Abstract Class
来自动添加覆盖实现存根:
答案 1 :(得分:0)
使用抽象方法和/或属性
在基类中实现接口答案 2 :(得分:-1)
只需将abstract
关键字添加到接口需要实现的每个方法/属性中。
例如,这就是DoSomething()
方法的外观:
public abstract void DoSomething();
这样派生类就必须自己实现接口。