0

以下のコード例を検討してください

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();

では、なぜこれが必要なのですか?

4

1 に答える 1

0

これは、コードを実装に結び付けないために必要です。これにより、アプリケーションが変更に対して耐性を持つようになります。つまり、実装ではなくインターフェースに対してコーディングしているため、新しい変更を組み込むためにアプリケーション全体をリファクタリングする必要はありません。

また、継承は重複を避けることでコードの再利用性を提供します。

于 2013-06-11T10:41:43.473 に答える