C# 虚方法

把一个基类函数声明为virtual,就可以在任何派生类中重写该函数:

class MyBaseClass
{
  public virtual string VirtualMethod()
  {
    return "这是一个定义在基类的虚方法";
  }
}

也可以把属性声明为virtual

private string foreName;

public virtual string ForeName
{
  get { return foreName; }
  set { foreName = value; }
}

C# 要求在派生类中的函数重写另一个函数时,要使用override关键字显示声明:

class MyDerivedClass:MyBaseClass
{
  public override string VirtualMethod()
  {
    return "这是一个在派生类中重写的方法";
  }
}

说明:1.字段和静态函数都不能声明为virtual,因为这个概念只对类中的实例函数成员有意义。

    2.派生类可以选择不重写基类的虚属性和虚方法,如果重写了,执行自身的;如果没重写,执行基类的。

你可能感兴趣的:(C#)