new與override在C# 中有什么不同?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
new的用法有以下3中
1、運算符:初始化對象和調用構造函數
2、修飾符:隱藏基類方法
3、于在泛型聲明中約束可能用作類型參數的參數的類型
至于作為修飾符和override的區(qū)別,看了下文章不太明白,寫了個例子,運行結果,發(fā)現了差異,下面分享下代碼:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { abstract public class Test { public virtual void Prinf() { Console.WriteLine("Abstract Printf..."); } } public class Class1 : Test { public override void Prinf() { Console.WriteLine("Class One Override Printf..."); } } public class Class2 : Test { public new void Prinf() { Console.WriteLine("Class Two New Printf..."); } } static void Main(string[] args) { Class1 cls1 = new Class1(); Class2 cls2 = new Class2(); cls1.Prinf(); cls2.Prinf(); ((Test)cls1).Prinf(); ((Test)cls2).Prinf(); Console.ReadLine(); } } }