最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中重載與重寫區(qū)別分析

 更新時間:2016年02月16日 16:03:44   投稿:lijiao  
這篇文章主要為大家詳細介紹了C#中重載與重寫的區(qū)別,感興趣的小伙伴們可以參考一下

一、前言
       接觸面向?qū)ο蟮乃枷胍呀?jīng)有一段時光了,為什么要學(xué)習(xí)面向?qū)ο竽??因為面向?qū)ο缶哂锌蓮?fù)用性、可維護性、可擴展性等優(yōu)點。
        本人之前一直接觸的是VB語言,所以正式接觸面向?qū)ο蟮木幊陶Z言還要從C#開始。前段時間,剛學(xué)完C#,其中重載、重寫傻傻分不清楚。如今通過查閱資料對這兩者有了一個大概的理解,不足之處還請多多指教。
二、定義
        重載:在同一定義域內(nèi)(比如一個類里面)。方法名相同,參數(shù)個數(shù)、次序、類型不同。因此重載對返回值沒有要求,可以相同,也可以不同。但是如果方法名相同,參數(shù)個數(shù)、次序、類型都相同,而返回值不同,則無法構(gòu)成重載。
       重寫:繼承時發(fā)生,在子類中重寫定義父類中的方法,子類中的方法和父類中的方法是一樣的。即方法名、參數(shù)的個數(shù)、次序、類型和返回值都相同。例如父類方法聲明為virtual(虛方法),子類中使用override申明此方法的重寫。
三、示例
1、重載:
       我們建立一個貓類,在這個類中構(gòu)造兩個方法。一個是帶參數(shù)姓名的方法,另一個是不帶參數(shù)姓名的方法。這樣當我們初始化一個“貓”的對象時,就可以選擇給對象起名或者不起名。從而達到擴展的目的。

2、 重寫:
       比如動物都有“叫”的方法。貓和狗是它的子類,貓的叫聲是“喵”,狗的叫聲是“汪”,如何在子類中重寫父類的方法呢?首先在動物類中構(gòu)造一個虛方法。

Class Animal 
{ 
   public virtual string Shout()//注意修飾符中增加了一個virtual,它表示此方法是虛方法,可以被子類重寫 
   { 
   return ""; 
   } 
} 

         在構(gòu)建貓這個類時,我們重寫“叫”這個方法

Class cat:Animail 
{ 
  Public override string Shout() 
  {//關(guān)鍵字override,表示方法重寫 
  string result="喵"; 
  return result; 
  } 
} 

        在構(gòu)建狗這個類時,我們也重寫“叫”這個方法

Class Dog:Animal 
{ 
  public override string Shout() 
  { 
   string result="汪"; 
   return result; 
   } 
   
} 

           重寫發(fā)生在父類和子類之間,聲明的是父類,實例化的是子類。本例子實現(xiàn)了多態(tài)。
四、小結(jié)

         重載必須發(fā)生在一個類中,方法名相同,參數(shù)不同。值得注意的是,方法重載必須通過參數(shù)不同來判斷調(diào)用哪個方法,而不能通過返回值。
         重寫override一般用于接口實現(xiàn)和繼承類的方法改寫。值得注意的是,被覆蓋的方法不能為private,否則在其子類中只是新定義了一個方法,并沒有進行覆蓋。

以上就是本文的全部內(nèi)容,希望大家對C#中重載與重寫的異同有所了解,謝謝大家的閱讀。

相關(guān)文章

  • C#實現(xiàn)創(chuàng)建標簽PDF文件的示例代碼

    C#實現(xiàn)創(chuàng)建標簽PDF文件的示例代碼

    標簽PDF文件包含描述文檔結(jié)構(gòu)和各種文檔元素順序的元數(shù)據(jù),是一種包含后端提供的可訪問標記,管理閱讀順序和文檔內(nèi)容表示的邏輯結(jié)構(gòu)的PDF文件。本文將用C#實現(xiàn)創(chuàng)建標簽PDF文件,需要的可以參考一下
    2022-08-08
  • 詳解C#借助.NET框架中的XmlTextReader類讀取XML的方法

    詳解C#借助.NET框架中的XmlTextReader類讀取XML的方法

    這篇文章主要介紹了詳解借助.NET框架中的XmlTextReader類讀取XML的方法,這種方式的執(zhí)行效率還是比較令人滿意的,需要的朋友可以參考下
    2016-04-04
  • C#操作XML文件步驟

    C#操作XML文件步驟

    在本篇文章里小編給大家分享了關(guān)于C#操作XML文件步驟教學(xué)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2019-01-01
  • C# 中的委托與事件機制詳解

    C# 中的委托與事件機制詳解

    本文詳細介紹了C#中委托和事件的概念、使用方法和應(yīng)用場景,包括委托定義、匿名方法、Lambda表達式、事件機制和多播委托的詳細說明,委托作為類型安全的函數(shù)指針,文章還探討了如何通過匿名方法和Lambda表達式簡化委托的使用,以及多播委托在事件處理中的應(yīng)用
    2024-10-10
  • WinForm窗體調(diào)用WCF服務(wù)窗體卡死問題

    WinForm窗體調(diào)用WCF服務(wù)窗體卡死問題

    在Winform窗體中調(diào)用部署在其他服務(wù)器中的WCF服務(wù)時,由于調(diào)用服務(wù)需要一定時延,因此窗體在這段時間一直卡住不能進行其他操作
    2012-12-12
  • 詳解C#App.config和Web.config加密

    詳解C#App.config和Web.config加密

    本篇文章給大家分享了C#App.config和Web.config加密的相關(guān)知識點以及具體代碼步驟,有興趣的朋友參考學(xué)習(xí)下。
    2018-05-05
  • 在C#程序中對MessageBox進行定位的方法

    在C#程序中對MessageBox進行定位的方法

    這篇文章主要介紹了在C#程序中對MessageBox進行定位的方法,針對圖形化界面進行調(diào)試,需要的朋友可以參考下
    2015-07-07
  • 詳解如何在C#中循環(huán)訪問目錄樹

    詳解如何在C#中循環(huán)訪問目錄樹

    在C#中,訪問文件系統(tǒng)是常見的需求之一,有時我們需要遍歷目錄樹以執(zhí)行某些操作,例如搜索文件、計算目錄大小或執(zhí)行批量處理,本文將詳細介紹如何在C#中循環(huán)訪問目錄樹,并提供一個完整的示例,需要的朋友可以參考下
    2024-08-08
  • 用Newtonsoft將json串轉(zhuǎn)為對象的方法(詳解)

    用Newtonsoft將json串轉(zhuǎn)為對象的方法(詳解)

    下面小編就為大家?guī)硪黄肗ewtonsoft將json串轉(zhuǎn)為對象的方法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • C#中的一些延時函數(shù)

    C#中的一些延時函數(shù)

    這篇文章主要介紹了C#中的一些延時函數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評論

日土县| 卢湾区| 台北县| 新源县| 芷江| 张家界市| 平凉市| 徐汇区| 遂昌县| 灯塔市| 西丰县| 长岭县| 太原市| 乌什县| 绥阳县| 宜宾市| 深圳市| 兰溪市| 芷江| 基隆市| 南川市| 安陆市| 绥化市| 柳河县| 炉霍县| 内黄县| 五常市| 武定县| 万源市| 富锦市| 邛崃市| 潞城市| 英吉沙县| 台安县| 礼泉县| 揭东县| 澳门| 黎平县| 蓬莱市| 舟曲县| 汉寿县|