override and new different?

来源:百度知道 编辑:UC知道 时间:2024/06/30 03:37:00
class Num1
{
public virtual void A()
{
Console.WriteLine("Base virtual");
}

}

class Num2:Num1
{
//override
public override void A()
{
Console.WriteLine("override Num2 in A");
}

//New
public new void A()
{
Console.WriteLine("new Num2 in A");
}
}

重写和隐藏到底有什么区别?
我什么时候用重写?
什么时候用隐藏?

什么时候用得看你需求啊...
重写是覆盖了父级,new是在子类中新添加的方法..
调用的时候调用的哪个方法得看生成对象的时候是用什么类型的变量.

override:重载方法,基类方法必须为virtual。
而new,则在子类中定义新的方法。