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(); } } 输出结果: 寂寞才说爱!