国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > 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#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宿迁市| 五指山市| 惠安县| 普宁市| 那曲县| 东山县| 鹿泉市| 河源市| 嘉鱼县| 连云港市| 靖江市| 隆化县| 阳信县| 蒲城县| 古交市| 湖州市| 东丽区| 托里县| 玉树县| 吉安县| 乌拉特后旗| 鹤庆县| 辰溪县| 嘉祥县| 大邑县| 三江| 巴楚县| 新津县| 祁连县| 延长县| 宁武县| 福鼎市| 云梦县| 永平县| 哈尔滨市| 建昌县| 上犹县| 福泉市| 屏边| 台南市| 嘉善县|