抽象类和虚方法
namespace ConsoleApplication1 { public abstract class door { public void show() { Console.WriteLine("this is a"); } public virtual void talk() { Console.WriteLine("this is t1"); } public abstract void run(); } public class door1:door { public new void show() { Console.WriteLine("this is b"); } public override void talk() { Console.WriteLine("this is t2"); } public override void run() { Console.WriteLine("this is run1"); } } }
program.cs中:
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { door d = new door1(); d.show(); d.talk(); d.run(); Console.ReadLine(); } } }
结果:
实例化时,若左边是父类右边是子类,实例化结束调用方法时,普通方法执行父类方法,虚方法执行子类方法