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 回答