和非抽象類一樣,抽象類也必須提供在基類列表中出現的所有接口成員的實現。不同的是,抽象類允許將接口的方法映射到抽象的成員方法。
interface IMethods
{
void F();
void G();
}
abstract class C:IMethods
{
public abstract void F();
public abstract void G();
}
上例中,所有C的非抽象的派生類必須重載C中的抽象方法來提供對接口的實現。
注意:顯式說明的接口成員不能是抽象的,但它允許調用抽象的方法,如下例所示:
interface IMethods
{
void F();
void G();
}
abstract class C:IMethods
{
void IMethods.F(){FF();}
void IMethods.G(){GG();}
protected abstract void FF();
protected abstract void GG();
}