虚成员(virtual)
class Program { class BaseClass { public virtual void OutPut() { Console.WriteLine("我是基类方法"); } } class InheritClass : BaseClass { public override void OutPut() { Console.WriteLine("我是继承类的方法"); } } static void Main(string[] args) { BaseClass baseObj = new BaseClass(); baseObj.OutPut(); InheritClass inheritObj = new InheritClass(); inheritObj.OutPut(); Console.ReadKey(); } }
BaseClass 类中的OutPut方法是一个虚方法含有方法的实现在 BaseClass baseObj = new BaseClass();baseObj.OutPut();可直接调用所以第一次运行显示就是我是基类的方法
InheritClass类继承了 BaseClass它用override重写了OutPut方法所以在实例化InheritClass inheritObj = new InheritClass();inheritObj.OutPut();并调用OutPut方法的时候显示的就是我是继承类的方法了。总结 简单来说虚方法就是可以被继承类重写的方法虚成员就是可以被继承类重写的成员