方法的重載和重寫是面向對象編程中的兩個概念,它們有以下區別:
示例:
public int Add(int a, int b)
{
return a + b;
}
public double Add(double a, double b)
{
return a + b;
}
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");
}
}
總結: 重載是在同一個類中定義多個具有相同名稱但參數列表不同的方法,通過參數列表的不同來區分方法;而重寫是子類重寫父類中的虛方法或抽象方法,使得子類可以對方法進行定制化的實現。