欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2018年02月11日 16:44:44   作者:藍(lán)月夜  
在C#的繼承中嘗嘗會(huì)用到相關(guān)的修飾詞:override和new。這兩個(gè)修飾符都可以在新的子類中,重寫(xiě)同名的父類方法。下面通過(guò)本文給大家介紹C#中overrid和new修飾符的區(qū)別,感興趣的朋友一起看看吧

在C#的繼承中嘗嘗會(huì)用到相關(guān)的修飾詞:override和new。這兩個(gè)修飾符都可以在新的子類中,重寫(xiě)同名的父類方法。

    override: 擴(kuò)展或修改繼承的方法、屬性、索引器或事件的抽象或虛擬實(shí)現(xiàn)需要使用到。

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

以上是這兩個(gè)修飾符的解釋。對(duì)于這兩者之間的區(qū)別之類的說(shuō)法,其實(shí)網(wǎng)上找到的有很多,大多都是些概念性的東西。我這里主要是對(duì)于,自己測(cè)試的代碼和大家分享下。

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("運(yùn)行結(jié)束");
  }
}

輸出結(jié)果如下:

可以看出,override相當(dāng)于修改的父類的方法,對(duì)父類方法進(jìn)行了重寫(xiě)。在父類方法中調(diào)用時(shí),同樣也是會(huì)調(diào)用到這個(gè)已經(jīng)重寫(xiě)過(guò)得類。override重寫(xiě)的是父類地址下的方法實(shí)現(xiàn)信息。

對(duì)于new,對(duì)父類中的方法沒(méi)有產(chǎn)生影響,當(dāng)調(diào)用父類方法時(shí),還是會(huì)執(zhí)行父類的方法。調(diào)用子類方法時(shí),則調(diào)用子類方法。只是方法的名字相同,從而造成了子類對(duì)父類的方法造成了一種隱藏的特性。new相當(dāng)于重新開(kāi)辟了新的方法實(shí)現(xiàn)位置,子類與父類方法的地址是不同的。

總結(jié)

以上所述是小編給大家介紹的C#中overrid和new修飾符有什么不同,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • unity通過(guò)Mesh網(wǎng)格繪制圖形(三角形、正方體、圓柱)

    unity通過(guò)Mesh網(wǎng)格繪制圖形(三角形、正方體、圓柱)

    這篇文章主要為大家詳細(xì)介紹了unity通過(guò)Mesh網(wǎng)格繪制圖形:三角形、正方體、圓柱,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Unity3D實(shí)現(xiàn)物體閃爍效果

    Unity3D實(shí)現(xiàn)物體閃爍效果

    這篇文章主要為大家詳細(xì)介紹了Unity3D實(shí)現(xiàn)物體閃爍效果,類似霓虹燈、跑馬燈、LED燈效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • 使用C#編寫(xiě)一個(gè)Web服務(wù)器

    使用C#編寫(xiě)一個(gè)Web服務(wù)器

    在.NET世界中,C#是一種功能強(qiáng)大的編程語(yǔ)言,常被用于構(gòu)建各種類型的應(yīng)用程序,本文主要為大家介紹了如何使用C#編寫(xiě)一個(gè)簡(jiǎn)單的Web服務(wù)器,需要的可以參考下
    2024-03-03
  • c# record的使用場(chǎng)景

    c# record的使用場(chǎng)景

    這篇文章主要介紹了c# record的使用場(chǎng)景,幫助大家更好的理解和學(xué)習(xí)使用c#的新特性,感興趣的朋友可以了解下
    2021-02-02
  • C#實(shí)現(xiàn)自定義定時(shí)組件的方法

    C#實(shí)現(xiàn)自定義定時(shí)組件的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)自定義定時(shí)組件的方法,很實(shí)用的功能,需要的朋友可以參考下
    2014-08-08
  • 基于C#實(shí)現(xiàn)屏幕桌面截圖

    基于C#實(shí)現(xiàn)屏幕桌面截圖

    這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)屏幕桌面截圖以及左上角區(qū)域截圖功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以了解一下
    2022-12-12
  • LZW壓縮算法 C#源碼

    LZW壓縮算法 C#源碼

    本文分享了一個(gè)LZW壓縮算法的C#源碼,有需要的朋友可以參考一下。
    2016-06-06
  • C#在后臺(tái)運(yùn)行操作(BackgroundWorker用法)示例分享

    C#在后臺(tái)運(yùn)行操作(BackgroundWorker用法)示例分享

    BackgroundWorker類允許在單獨(dú)的專用線程上運(yùn)行操作。如果需要能進(jìn)行響應(yīng)的用戶界面,而且面臨與這類操作相關(guān)的長(zhǎng)時(shí)間延遲,則可以使用BackgroundWorker類方便地解決問(wèn)題,下面看示例
    2013-12-12
  • 深入講解C#編程中嵌套類型和匿名類型的定義與使用

    深入講解C#編程中嵌套類型和匿名類型的定義與使用

    這篇文章主要介紹了C#編程中嵌套類型和匿名類型的定義與使用,包括在SQL語(yǔ)句中使用匿名類型的方法,需要的朋友可以參考下
    2016-01-01
  • C#中實(shí)現(xiàn)深度優(yōu)先搜索

    C#中實(shí)現(xiàn)深度優(yōu)先搜索

    深度優(yōu)先搜索(DFS)是一種遍歷或搜索圖或樹(shù)的算法,廣泛應(yīng)用于迷宮尋路、圖像處理、路徑規(guī)劃、模式識(shí)別、社交網(wǎng)絡(luò)分析等領(lǐng)域,學(xué)習(xí)DFS有助于理解圖結(jié)構(gòu),解決回溯問(wèn)題,提升算法設(shè)計(jì)與分析能力,下面就來(lái)介紹一下
    2024-10-10

最新評(píng)論