方法的重载和重写是面向对象编程中的两个概念,它们有以下区别:
示例:
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");
}
}
总结: 重载是在同一个类中定义多个具有相同名称但参数列表不同的方法,通过参数列表的不同来区分方法;而重写是子类重写父类中的虚方法或抽象方法,使得子类可以对方法进行定制化的实现。