[英]How to have an abstract class require an interface to be implemented by descendant classes?
我想创建一个抽象类,强制限制其子类必须实现一个接口。 我想避免在抽象类中实现接口类。 下面的代码不会做我想要的。 有没有人建议我能做什么?
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;
}
}
只要使该方法abstract
在抽象类:
public abstract class Item : IItem
{
//...
public abstract bool IsUsable();
}
在继承Item
类的类中,使用override
关键字:
public override bool IsUsable()
{
// Do stuff
}
VS可以通过右键单击父抽象类并选择Implement Abstract Class
来自动添加覆盖实现存根:
使用抽象方法和/或属性实现基类中的接口
只需将abstract
关键字添加到接口需要实现的每个方法/属性中。
例如,这就是DoSomething()
方法的外观:
public abstract void DoSomething();
这样派生类就必须自己实现接口。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.