在基类中被标记为virtual的函数可以在派生类中重写
函数默认不是虚拟的要使用关键字virtual显示声明(除构造函数外)。
字段和静态函数都不能被声明为virtual,因为这个概念只适合类中的实例函数成员有意义。
class Father
{
public virtual void SayHello()//将函数标记为虚方法
{
Console.Write("Hello!");
}
}
class Son:Father
{
public override void SayHello()//在派生类中重写
{
base.SayHello();
}
}
ps:在派生类中输入override+空格就会弹出父类中可以重写的方法。
父类中的属性也是可以重写的,重写的语法和函数是一样的
private string name;
public virtual string Name //虚属性
{
get { return name; }
set { name = value; }
}
public override string Name //重写父类的虚属性
{
get
{
return base.Name;
}
set
{
base.Name = value;
}
}
本文介绍了C#中如何定义虚方法以及如何在派生类中进行重写。同时,也提到了虚属性的概念及其实现方式。
818

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



