和非抽象類一樣,抽象類也必須提供在基類列表中出現的所有接口成員的實現。不同的是,抽象類允許將接口的方法映射到抽象的成員方法。
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(); }