以下のコード例を検討してください
class BC
{
public virtual void Display()
{
System.Console.WriteLine("BC::Display");
}
}
class DC : BC
{
public override void Display()
{
System.Console.WriteLine("DC::Display");
}
}
class TC : DC
{
public override void Display()
{
System.Console.WriteLine("TC::Display");
}
}
class Demo
{
public static void Main()
{
BC b;
b = new BC();
b.Display();
b = new DC();
b.Display();
b = new TC();
b.Display();
}
}
出力
BC::Display
DC::Display
TC::Display
このコード例では、DC のインスタンスが基本クラス BC で作成され、かつ TC のインスタンスが基本クラス BC で作成されていることがわかります。例: BC b=new DC(); BC b=新しい TC();
では、なぜこれが必要なのですか?