一,如下例子
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DemoTest { class Program { static void Main(string[] args) { B a = new B(); } } public class A { public A() { Say(); } protected virtual void Say() { Console.WriteLine("A"); } } public class B : A { protected override void Say() { Console.Write("B"); } } }
结果:
输出的则是B
二,通过调试得出结论:
当B继承A时,并重写A中的方法,程序运行的时只会进入到B中重写的方法Say(),而不会进入A中的Say()
时间: 2024-10-13 15:33:38