new:在作为修饰符时,可以隐藏从父类的继承的成员。
override:修改父类的方法、属性。
上代码比较清楚:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication2 { public class BaseClass { public virtual void Show1() { Console.WriteLine("1"); } public void Show2() { Console.WriteLine("2"); } public void Show12() { Show1(); Show2(); } } public class TestClass : BaseClass { public override void Show1() { Console.WriteLine("11"); } public new void Show2() { Console.WriteLine("22"); } } class Program { static void Main(string[] args) { TestClass testClass = new TestClass(); testClass.Show1(); testClass.Show2(); testClass.Show12(); BaseClass baseClass = new TestClass(); baseClass.Show1(); baseClass.Show2(); baseClass.Show12(); Console.ReadLine(); } } }
执行结果: