覆盖房产并更新房产?

时间:2015-09-29 06:40:24

标签: oop language-agnostic terminology

在我的子类上,如果我覆盖属性,我们称之为属性XYZ正在覆盖基类的属性。如果使用new关键字续订财产,您会怎么称呼?续约?

1 个答案:

答案 0 :(得分:1)

使用new关键字作为修饰符称为member hiding

来自MSDN Documentation

  

当用作声明修饰符时,new关键字显式隐藏从基类继承的成员。隐藏继承的成员时,该成员的派生版本将替换基类版本。虽然您可以在不使用new修饰符的情况下隐藏成员,但会收到编译器警告。如果使用new来显式隐藏成员,则会抑制此警告。

     

要隐藏继承的成员,请使用相同的成员名称在派生类中声明它,并使用new关键字对其进行修改。

  public class BaseC
  {
      public int x;
      public void Invoke() { }
  }

  public class DerivedC : BaseC
  {
      new public void Invoke() { }
  }

有关何时使用override以及何时使用new关键字修饰符的详细信息,您也可以阅读MSDN