一、抽象类中可以提供非抽象的执行方法吗?接口呢? 答:抽象类可以这么写: 代码如下: public abstract class A { public string getWebUrl() { return "Vevb.com"; } public abstract string getWebName(); } public class B : A { public override string getWebName() { return "错新站长站"; } }
运行: B b = new B(); Response.Write(b.getWebUrl()); 编译通过没有错误,而接口本身只能包含成员但不包括具体实现,且抽象函数只能存在于抽象类中,所以接口中只有方法的签名,但没有具体的实现,且不是抽象函数,例如: C#复制代码 interface IA { string getWebUrl(); string getWebName(); } 二、接口中的成员是否必须被其子类实现? 答:接口是抽象类的一个特例,而抽象函数都必须被其子类覆盖实现,接口中的成员也一样必须被其子类实现。 三、抽象类中是否可以使用virtual关键字? 答:不可以,抽象类中只能包含抽象方法和抽象访问器。 四、抽象类能被实例化吗? 答:不可以。