asp.net 虚方法、抽象方法、接口疑问

一、抽象类中可以提供非抽象的执行方法吗?接口呢?

  答:抽象类可以这么写:

  

复制代码 代码如下:

  public abstract class A

  {

  public string getWebUrl()

  {

  return "glzy8.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关键字?

  答:不可以,抽象类中只能包含抽象方法和抽象访问器。

  四、抽象类能被实例化吗?

  答:不可以。