程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中new和override的差別小我總結

C#中new和override的差別小我總結

編輯:C#入門知識

C#中new和override的差別小我總結。本站提示廣大學習愛好者:(C#中new和override的差別小我總結)文章只能為提供參考,不一定能成為您想要的結果。以下是C#中new和override的差別小我總結正文


成績:

A類 無方法 public virtual void test()
B類繼續自A類,無方法 public new void test() 
以下實例化:

           A a = new B();
           a.test();

會挪用哪一個類中的TEST辦法,最好能具體給我說明一下好嗎?先感謝了!

答復:

假如你用override,則不管挪用的是A類照樣B類中的TEST(),體系都邑找到它本質類的TEST();
假如是用的New,則可以經由過程類型轉換挪用到基類的TEST();

上面是override的情形:

A a = new A();
B b = new B();
A a1=new B();
a.Test();//挪用A中Test();
b.Test();//挪用B中Test();
a1.Test();//挪用B中Test();體系會主動辨認a1是B的實例

((A)b).Test();//與下面雷同

上面是new的情形:

A a = new A();
B b = new B();
A a1=new B();
a.Test();//挪用A中Test();
b.Test();//挪用B中Test();
a1.Test();//挪用A中Test();
((A)b).Test();//與下面雷同

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved