MSDN 说:
当用作修饰符时,new 关键字显式隐藏从基类继承的成员。当您隐藏继承的成员时,该成员的派生版本将替换基类版本。尽管您可以在不使用 new 修饰符的情况下隐藏成员,但结果是警告。如果您使用 new 显式隐藏成员,它会抑制此警告并记录派生版本旨在作为替换的事实。
例子:
class Base
{
int value;
virtual bool Foo()
{
value++;
}
}
class Derived : Base
{
int value;
override bool Foo()
{
value++;
}
}
我必须在new
Derived.value 声明中添加修饰符吗?有什么变化?