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(); } }}
执行结果: