溫馨提示×

c#方法 重載和重寫的區別

c#
小樊
160
2024-07-14 05:15:26
欄目: 編程語言

方法的重載和重寫是面向對象編程中的兩個概念,它們有以下區別:

  1. 重載(Overloading): 重載指的是在同一個類中定義多個具有相同名稱但參數列表不同的方法。通過參數列表的不同,編譯器能夠區分這些方法,并根據調用時傳遞的參數類型或數量來選擇合適的方法進行調用。重載方法可以有不同的返回類型,但不能僅僅依靠返回類型的不同來區分方法。

示例:

public int Add(int a, int b)
{
    return a + b;
}

public double Add(double a, double b)
{
    return a + b;
}
  1. 重寫(Overriding): 重寫指的是子類可以重寫(覆蓋)父類中的虛方法或抽象方法,使得子類可以根據自己的需求對該方法進行定制化的實現。重寫方法必須具有與父類中被重寫的方法相同的簽名(方法名稱、參數列表和返回類型),并且需要使用關鍵字override來標記。

示例:

public class Animal
{
    public virtual void MakeSound()
    {
        Console.WriteLine("Animal makes sound");
    }
}

public class Dog : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Dog barks");
    }
}

總結: 重載是在同一個類中定義多個具有相同名稱但參數列表不同的方法,通過參數列表的不同來區分方法;而重寫是子類重寫父類中的虛方法或抽象方法,使得子類可以對方法進行定制化的實現。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女