国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C#中重載重寫和覆蓋的定義與區別

C#中重載重寫和覆蓋的定義與區別

2022-03-03 13:41Czhenya C#

今天小編就為大家分享一篇關于C#中重載重寫和覆蓋的定義與區別,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

一、重載

  1、重載示意

   重載(Overload)是重新加載的意思,指的是同一個類中同名,但是參數列表不同的方法組(返回值不能區別函數是否重載),重載沒有關鍵字。通俗點說重載是對內存中同一個類中的函數或方法進行重新加載的意思。

  2、發生條件

   必須發生在一個類中,函數名相同,參數類型或者個數不同構成重載,與返回類型無關。

如:

?
1
2
3
4
5
6
7
8
9
10
11
Public class Name
{
  Public string GetName(string username)
  {
    Return username;
  }
Public int GetName(int usercount)
  {
    Return usercount;
  }
}

二、重寫

   1、示意

    重寫(Override)指子類修改父類中某個函數的函數體,需要重寫的父類中的函數必須是由virtual、abstract 或override標注的,不能重寫非虛方法或靜態方法。

    Override是在繼承的時候,如果你寫的函數與要繼承的函數函數特征(函數特征包括函數名,參數的類型和個數)相同,那么,加上這個關鍵字,在使用這個子類的這個函數的時候就看不見父類(或超類)的函數了,它被覆蓋掉了。

   2、發生條件

    必須發生在基類和派生類中,基類函數必須用virtual、abstract 或override修飾,派生類用override修飾。

如:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
class Program
  {
    static void Main(string[] args)
    {
      oc oa=new ob();
      oa.b(1, 2);  //輸出結果為fdfdf
    }
    public class oc
    {
      private int a;
     //封裝
      public int geta
      {
        get { return a; }
      }
      public int seta
      {
        set { a = value; }
      }
     //函數b
      public virtual int b(int c, int e)
      {
        Console.WriteLine("{0}+{1}={2}", c, e, c + e);
        return c + e;
      }
    }
    //派生類ob,基類oc
    public class ob : oc
    {
    //重寫基類中的函數b
      public override int b(int c,int e)
      {
        Console.WriteLine("fdfdf");
        return c;
      
    }
}

三、覆蓋

   1、示意

    覆蓋指重新定義子類中與父類具有相同函數特征的的函數體。子類中有一函數和父類中函數的函數特征相同,但函數體不同,稱為覆蓋。這種覆蓋又稱為隱藏,是隱藏父類中相同的函數,并沒有進行重寫。

   2、發生條件

   在子類中寫一個和基類一樣名字(參數不同也算)的非虛函數,會讓基類中的函數被隱藏,編譯后會提示要求使用New關鍵字。

如:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
class Program
  {
    static void Main(string[] args)
    {
      oc oa=new ob();
      oa.b(1, 2); //輸出結果為1+2=3
    }
    public class oc
    {
      private int a;
    //封裝
      public int geta
      {
        get { return a; }
      }
      public int seta
      {
        set { a = value; }
      }
    //函數b
      public int b(int c, int e)
      {
        Console.WriteLine("{0}+{1}={2}", c, e, c + e);
        return c + e;
      }
    }
  //派生類ob,基類oc
    public class ob : oc
    {
     //覆蓋,隱藏基類中的函數b
      public new int b(int c,int e)
      {
        Console.WriteLine("fdfdf");
        return c;
      
    }
}

重寫(Override)的兩個函數的函數特征相同,應用在子類和父類中,會重寫父類函數;

重載(Overload)的兩個函數的函數名雖然相同,但函數特征不同,應用在同一類中;

覆蓋(new)兩個函數的函數名一定相同,但函數特征可相同也可不相同,應用在子類和父類中,會隱藏父類同名函數。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

原文鏈接:https://blog.csdn.net/Czhenya/article/details/76092072

延伸 · 閱讀

精彩推薦
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
主站蜘蛛池模板: 91在线观看 | 日韩激情一区 | 久久久久久亚洲 | 久久久久无码国产精品一区 | 免费观看国产视频在线 | 99色综合 | 国产精品免费久久久久影视 | 欧美亚洲第一页 | 亚洲美腿 欧美 激情 另类 | 91免费视频 | 久久精品日产第一区二区三区 | 国产v日产∨综合v精品视频 | 超碰成人在线免费 | 日韩在线视频中文字幕 | 91综合网| 亚洲视频在线播放免费 | 亚洲欧美精品 | 亚洲精品电影在线观看 | 久久精品久久综合 | 2015成人永久免费视频 | 中文字幕在线一区二区三区 | 国产无套丰满白嫩对白 | 日韩一二三区视频 | 日韩欧美在线不卡 | 亚洲精品一区二区三区 | 99精品视频网| 日韩欧美国产精品综合嫩v 日韩a∨精品日韩在线观看 | 高清一区二区 | 午夜精品在线 | 毛片黄片 | 久久av一区 | 农村末发育av片四区五区 | 特黄特色大片免费视频观看 | 亚洲精品欧美 | 成人午夜精品一区二区三区 | 中文字幕在线精品 | 欧洲一区二区三区 | 高清av网站 | 国产成人精品一区二区三区四区 | 一区二区精品在线 | 亚洲欧美日韩精品 |