把一个基类函数声明为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>虚方法必须有方法体哪怕是空的

本文探讨了C#中的虚方法和抽象方法,强调了虚方法可以通过`virtual`关键字在派生类中被重写,并使用`override`关键字进行明确声明。虚方法的特点包括:必须使用`virtual`修饰,可以重写或不重写,子类可选择实现。同时,对比了虚方法与抽象方法的区别,如关键字、位置、实现要求等。
最低0.47元/天 解锁文章
1616

被折叠的 条评论
为什么被折叠?



