[英]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.