override 表示重写,用于继承类对基类中虚成员的实现
overload 表示重载,用于同一个类中同名方法不同参数(包括类型不同或个数不同)的实现
示例:
using system;
using system.collections.generic;
using system.text;
namespace example07
{
class program
{
class baseclass
{
public virtual void f()
{
console.writeline("baseclass.f");
}
}
class deriveclass : baseclass
{
public override void f()
{
base.f();
console.writeline("deriveclass.f");
}
public void add(int left, int right)
{
console.writeline("add for int: {0}", left + right);
}
public void add(double left, double right)
{
console.writeline("add for int: {0}", left + right);
}
}
static void main(string[] args)
{
deriveclass tmpobj = new deriveclass();
tmpobj.f();
tmpobj.add(1, 2);
tmpobj.add(1.1, 2.2);
console.readline();
}
}
}
结果:
baseclass.f
deriveclass.f
add for int: 3
add for int: 3.3