virtual 的用法

Virtual 关键字修饰方法、属性、索引器或者事件声明,并且允许在派生类中重写这些成员。

虚拟成员的实现可以由派生类中的重写成员更改。

调用虚方法时,将为重写成员检查该对象的运行时类型。将调用大部分派生类中的该重写成员,如果没有派生类重写该成员,则它可能是原始成员。

默认情况下,方法是非虚拟的,不能再派生类中重写非虚拟方法。

Virtual不能与private、abstract、static 或 override一起使用。

 

示例:

View Code
Namespace Adolph

{

public class A
{


string Name="颜永松";


public virtual void show()
{
Console.Write(Name);
Console.Read();
}


}

public class B:A
{


public override void show()
{
Console.Write("寂寞才说爱!");
Console.ReadKey();
}


}

 

static void Main(string[] args)
{

B b = new B();
b.show();

}

}  

输出结果:

寂寞才说爱!                                                                                                                                                                                                         

 

posted @ 2013-05-04 17:57  Adolph.One  阅读(178)  评论(0编辑  收藏  举报