---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
重载:重载指的是同一个类中有两个或多个名字相同但是参数不同的方法。
override:重写是指子类对父类中虚函数或抽象函数的“覆盖”。
new:指的是显式隐藏从基类继承的成员。
重载示例:
public void Method()
{
Console.WriteLine("hello world");
}
public void Method(String str)
{
Console.WriteLine(str);
}
overrides示例:
class A
{
public virtual void Method()
{
Console.WriteLine("A");
}
}
class B:A
{
public override void Method()
{
Console.WriteLine("B");
}
}
new隐藏函数示例:
class A
{
public virtual void Method()
{
Console.WriteLine("A");
}
}
class B:A
{
public new void Method()
{
Console.WriteLine("B");
}
}
下面是override和隐藏函数容易混淆的一点:
对于下面代码输出结果不同
A a = new B();
a.Method();
如果是重写(override)的话输出时B
如果是隐函数(new)输出为A
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------