Overload
是重载,一个类里的同名方法,但是参数 / 返回值不同
class GFG {
public int Add(int a, int b) { return a + b; }
public int Add(int a, int b, int c) { return a + b + c; }
}
Override
是多态,覆盖父类的同名方法
可以被修改的方法必须是以下几种:virtual
、abstract
或 override
- 父类是一个普通的类,方法用 virtual 修饰
class BaseClass
{
public virtual void method(){ ... }
}
class DerivedClass : BaseClass
{
public override void method(){ ... }
// 或
public new void method(){ ... }
}
- 父类是 abstract 抽象类,方法是 abstract 抽象方法(抽象方法所在的类一定是抽象类,但是抽象类可以包含非抽象方法)
abstract class BaseClass
{
public abstract int method();
}
class DerivedClass : BaseClass
{
public override int method() { ... }
}