程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中重載與重寫差別剖析

C#中重載與重寫差別剖析

編輯:C#入門知識

C#中重載與重寫差別剖析。本站提示廣大學習愛好者:(C#中重載與重寫差別剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是C#中重載與重寫差別剖析正文


1、媒介
       接觸面向對象的思惟曾經有一段時間了,為何要進修面向對象呢?由於面向對象具有可復用性、可保護性、可擴大性等長處。
        自己之前一向接觸的是VB說話,所以正式接觸面向對象的編程說話還要從C#開端。前段時光,剛學完C#,個中重載、重寫傻傻分不清晰。現在經由過程查閱材料對這二者有了一個年夜概的懂得,缺乏的地方還請多多指教。
2、界說
        重載:在統一界說域內(好比一個類外面)。辦法名雷同,參數個數、順序、類型分歧。是以重載對前往值沒有請求,可以雷同,也能夠分歧。然則假如辦法名雷同,參數個數、順序、類型都雷同,而前往值分歧,則沒法組成重載。
       重寫:繼續時產生,在子類中重寫界說父類中的辦法,子類中的辦法和父類中的辦法是一樣的。即辦法名、參數的個數、順序、類型和前往值都雷同。例如父類辦法聲明為virtual(虛辦法),子類中應用override聲名此辦法的重寫。
3、示例
1、重載:
       我們樹立一個貓類,在這個類中結構兩個辦法。一個是帶參數姓名的辦法,另外一個是不帶參數姓名的辦法。如許當我們初始化一個“貓”的對象時,便可以選擇給對象起名或許不起名。從而到達擴大的目標。

2、 重寫:
       好比植物都有“叫”的辦法。貓和狗是它的子類,貓的啼聲是“喵”,狗的啼聲是“汪”,若何在子類中重寫父類的辦法呢?起首在植物類中結構一個虛辦法。

Class Animal 
{ 
   public virtual string Shout()//留意潤飾符中增長了一個virtual,它表現此辦法是虛辦法,可以被子類重寫 
   { 
   return ""; 
   } 
} 

         在構建貓這個類時,我們重寫“叫”這個辦法

Class cat:Animail 
{ 
  Public override string Shout() 
  {//症結字override,表現辦法重寫 
  string result="喵"; 
  return result; 
  } 
} 

        在構建狗這個類時,我們也重寫“叫”這個辦法

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

           重寫產生在父類和子類之間,聲明的是父類,實例化的是子類。本例籽實現了多態。
4、小結

         重載必需產生在一個類中,辦法名雷同,參數分歧。值得留意的是,辦法重載必需經由過程參數分歧來斷定挪用哪一個辦法,而不克不及經由過程前往值。
         重寫override普通用於接話柄現和繼續類的辦法改寫。值得留意的是,被籠罩的辦法不克不及為private,不然在其子類中只是新界說了一個辦法,並沒有停止籠罩。

以上就是本文的全體內容,願望年夜家對C#中重載與重寫的異同有所懂得,感謝年夜家的浏覽。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved