重载(overload)
指调用同一方法名,但各方法中参数的数据类型、个数或顺序不同。
public static int Add(int x,int y) { return x + y; } public double Add(int x,double y) { return x + y; } public int Add(int x, int y, int z) { return x + y + z; }
注:
- 方法名必须相同
- 参数列表必须不相同
- 与返回值类型无关
- 在同一个类中
重写(override)
子类中为满足自己的需要来重新编写父类中某个方法的实现方式,被重写的方法必须是虚方法
public class Class1 { public int X { get; set; } public int Y { get; set; } public virtual int Add() { return X + Y; } } public class Class2 : Class1 { public override int Add() { return base.Add(); } }
注:
- 方法名相同
- 参数列表相同
- 返回值相同