.net虚方法(virtual)
在基类中被标记为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;
}
}
攻城师~~