a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

C#中overrid和new修飾符有什么不同

2019-10-29 21:02:40
字體:
來源:轉載
供稿:網友

在C#的繼承中嘗嘗會用到相關的修飾詞:override和new。這兩個修飾符都可以在新的子類中,重寫同名的父類方法。

    override: 擴展或修改繼承的方法、屬性、索引器或事件的抽象或虛擬實現需要使用到。

    new:在用作聲明修飾符時,new 關鍵字可以顯式隱藏從基類繼承的成員。 隱藏繼承的成員時,該成員的派生版本將替換基類版本。

以上是這兩個修飾符的解釋。對于這兩者之間的區別之類的說法,其實網上找到的有很多,大多都是些概念性的東西。我這里主要是對于,自己測試的代碼和大家分享下。

using System;public class BaseClass{ public virtual void ShowA(){  Console.WriteLine("A"); } public void ShowB(){  Console.WriteLine("B"); } public void ShowAB(){  ShowA();  ShowB(); }}public class TestClass:BaseClass{ public override void ShowA(){  Console.WriteLine("AA"); } public new void ShowB(){  Console.WriteLine("BB"); }}public class Example{  public static void Main()  {   TestClass test = new TestClass();   test.ShowA();   test.ShowB();   test.ShowAB();   BaseClass test1 = new TestClass();   test.ShowA();   test.ShowB();   test.ShowAB();   Console.ReadLine();   Console.WriteLine("運行結束");  }}

輸出結果如下:

c#,new,修飾符,overrid

可以看出,override相當于修改的父類的方法,對父類方法進行了重寫。在父類方法中調用時,同樣也是會調用到這個已經重寫過得類。override重寫的是父類地址下的方法實現信息。

對于new,對父類中的方法沒有產生影響,當調用父類方法時,還是會執行父類的方法。調用子類方法時,則調用子類方法。只是方法的名字相同,從而造成了子類對父類的方法造成了一種隱藏的特性。new相當于重新開辟了新的方法實現位置,子類與父類方法的地址是不同的。

總結

以上所述是小編給大家介紹的C#中overrid和new修飾符有什么不同,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美久久一区 | 久久国产精品久久久久久电车 | 国产精品视频 | 亚洲精品午夜电影 | 国产一区二区三区av在线 | 国产精品99 | 国产精品一区二区在线观看免费 | 亚洲一区免费看 | 一级毛片视频播放 | 日本一区二区三区视频在线观看 | 91在线免费看 | 日本精品一区二区三区视频 | 在线一区二区三区视频 | 欧美精品一区二区三区在线 | 国产精品视频一区二区三区 | 久草成人 | 午夜免费电影 | 久久久久久高清 | 亚洲黄色性视频 | 国产999精品久久久久久 | 久久九| 成人黄色av | 草的我好爽 | 成人五月网 | 中文字幕国产高清 | 亚洲 欧美 日韩在线 | 日日摸夜夜添夜夜添特色大片 | 麻豆精品国产91久久久久久 | 久久国产高清 | 成人高清在线 | 夜久久 | 天天噜天天干 | 国产成人精品一区二三区四区五区 | 亚洲成人av一区二区三区 | 久久精品一 | 日本在线免费观看 | 国产亚洲精品成人av久久ww | 91av久久| 国产自产才c区 | 日本一级毛片视频 | 日韩美在线观看 |