ベースクラスメソッドの書き換え、非表示(new,override)
4444 ワード
public class Father
{
public void Write() {
Console.WriteLine(" ");
}
}
public class Mother
{
public virtual void Write()
{
Console.WriteLine(" ");
}
}
public class Boy : Father
{
public new void Write()
{
Console.WriteLine(" ");
}
}
public class Girl : Mother
{
public override void Write()
{
Console.WriteLine(" ");
}
}
static void Main(string[] args)
{
Father father = new Boy();
father.Write();
Boy boy = new Boy();
boy.Write();
Mother mother = new Mother();
mother.Write();
Girl girl = new Girl();
girl.Write();
Console.ReadLine();
}
出力:
親子
呼び出しの親メソッドを追加するには、次の手順に従います.
public class Boy : Father
{
public new void Write()
{
base.Write();
Console.WriteLine(" ");
}
}
public class Girl : Mother
{
public override void Write()
{
base.Write();
Console.WriteLine(" ");
}
}
出力:
父子母娘
プログラムの実行結果ではnewとoverrideは同じであることがわかります.