.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;
}
}





posted @ 2012-03-14 10:14  猪特曼  阅读(1110)  评论(0编辑  收藏  举报