在我的子类上,如果我覆盖属性,我们称之为属性XYZ正在覆盖基类的属性。如果使用new
关键字续订财产,您会怎么称呼?续约?
答案 0 :(得分:1)
使用new
关键字作为修饰符称为member hiding
。
当用作声明修饰符时,new关键字显式隐藏从基类继承的成员。隐藏继承的成员时,该成员的派生版本将替换基类版本。虽然您可以在不使用new修饰符的情况下隐藏成员,但会收到编译器警告。如果使用new来显式隐藏成员,则会抑制此警告。
要隐藏继承的成员,请使用相同的成员名称在派生类中声明它,并使用new关键字对其进行修改。
public class BaseC
{
public int x;
public void Invoke() { }
}
public class DerivedC : BaseC
{
new public void Invoke() { }
}
有关何时使用override
以及何时使用new
关键字修饰符的详细信息,您也可以阅读MSDN。