オーバーライド
継承時、サブクラスではスーパークラスの以下のメンバを同名で再定義できる。
・メソッド
・プロパティ
・インデクサ
・イベント
スーパークラスではサブクラスでオーバーライドするメンバに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;
}
}