考虑下面的代码示例
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的instnace由基类BC AND创建 TC的实例是由基类BC创建的 例如 BC b = new DC(); BC b =新TC();
那么为什么我们需要这个?
答案 0 :(得分:0)
这不需要将代码绑定到实现。这使得应用程序可以抵抗更改,即您不必重构整个应用程序以包含新的更改,因为您正在编写接口而不是实现。
此外,继承通过避免重复来提供代码可重用性。