亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-09 15:10:18 來源:腳本之家 閱讀:163 作者:藍月夜 欄目:編程語言

在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#中overrid和new修飾符有什么不同

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

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

總結

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

施秉县| 海阳市| 河津市| 徐水县| 安乡县| 射阳县| 体育| 南漳县| 兰坪| 五指山市| 兴业县| 通州市| 澄城县| 泰宁县| 自治县| 同江市| 方城县| 青龙| 缙云县| 小金县| 凉城县| 青岛市| 永登县| 榆树市| 安义县| 上蔡县| 武夷山市| 胶南市| 土默特右旗| 醴陵市| 金溪县| 卢氏县| 平定县| 阜康市| 荣昌县| 苍梧县| 吉林市| 丹巴县| 衡东县| 天等县| 洪泽县|