以下是核心代码
class A {//原创来自 www.luofenming.com public virtual void Func() // 注意virtual,表明这是一个虚拟函数 { Console.WriteLine("Func In A"); } } class B : A { public override void Func() // 注意override ,表明重新实现了虚函数 { Console.WriteLine("Func In B"); } } class C : B { } class D : A { public new void Func() // 注意new ,表明覆盖父类里的同名类,而不是重新实现 { Console.WriteLine("Func In D"); } } class Program { static void Main(string[] args) { A a = new A(); a.Func(); // 输出结果 Func In A A b = new B(); b.Func(); // 输出结果 Func In B A c = new C(); c.Func(); // 输出结果 Func In B A d = new D(); d.Func(); // 输出结果 Func In A D d1 = new D(); d1.Func(); // 输出结果 Func In D Console.ReadLine(); } }