オーバーライド

継承時、サブクラスではスーパークラスの以下のメンバを同名で再定義できる。

・メソッド

・プロパティ

・インデクサ

・イベント

スーパークラスではサブクラスでオーバーライドするメンバにvirtualを付けて定義。

サブクラスでは、オーバーライドするメンバにoverrideをつけて定義する。

virtualで修飾されたメンバを、仮想メンバという。

ex)

 public class Money
 {
  public virtual decimal Price { get; set; }

  public virtual decimal PayMoney()
  {
   return Price;
  }
 }
 public class Jpy:Money
 {
  public override decimal Price { get; set; }
  public override decimal PayMoney()
  {
   return Price * 100;
  }
 }