抽象類同非抽象類,必須實現基類列表所有接口成員。不同處:抽象類允許將接口方法映射到抽象成員:
interface IMethods { void F(); void G(); }
abstract class C : IMethods {
public abstract void F();
public abstract void G();
}
所有 C 非抽象派生類必須重寫抽象方法提供接口實現。
注意:顯式接口成員不可為抽象,但可調用抽象方法:
abstract class C : IMethods {
void IMethods.F() { FF(); }
void IMethods.G() { GG(); }
protected abstract void FF();
protected abstract void GG();
}