把一个基类函数声明为virtual,就可以在任何派生类中重写该函数:
class MyBaseClass{
public virtual string VirtualMethod()
{
return "Method is called in base class";
}
}
在派生类中重写另外一个函数时,要使用override关键字显示声明
class MyDerivedClass:MyBaseClass
{
public override string VirtualMethod()
{
return "Method is called in derivedclass.";
}
}
注意:我们在子类里面重写虚函数之后,不管在哪里调用都是调用重写之后的方法
虚方法可以重写也可以不重写 重写就执行重写后的方法 不重写就执行虚方法
虚方法特点:
<1>虚方法必须使用virtual修饰
<2>虚方法同抽象方法(adstract)一样使用override关键字重写
<3>虚方法在子类中可以实现,也可以不实现。
<4