C# 3.0 C代码需要完美的输出和对齐
输出应该是什么 怎么会这样?请解释输出应该是并且是“派生方法”。当您重写派生类中的方法时,您正在更改该类的任何实例的该方法的实现C# 3.0 C代码需要完美的输出和对齐,c#-3.0,C# 3.0,输出应该是什么 怎么会这样?请解释输出应该是并且是“派生方法”。当您重写派生类中的方法时,您正在更改该类的任何实例的该方法的实现 因此,即使您将b1引用为基,运行时也知道它实际上是派生的实例,并将使用后者的实现。它将显示“派生方法”" . 现在来看代码,您在类Myclient中到底在做什么。请看您正在使用派生的类构造函数创建B类的对象。因此运行时将通过派生的类,并创建派生的类的实例。结果将是“派生方法”您是否尝试过编译和运行? class Base { public v
因此,即使您将
b1
引用为基
,运行时也知道它实际上是派生的
实例,并将使用后者的实现。它将显示“派生方法”" . 现在来看代码,您在类Myclient
中到底在做什么。请看您正在使用派生的类构造函数创建B
类的对象。因此运行时将通过派生的类,并创建派生的类的实例。结果将是“派生方法”您是否尝试过编译和运行?
class Base
{
public virtual void Method()
{
Console.WriteLine("Base method");
}
}
class Derived : Base
{
public override void Method()
{
Console.WriteLine("Derived method");
}
}
class MyClient
{
public static void Main()
{
Base b1 = new Derived();
b1.Method(); // Displays 'Base Method'
Console.ReadLine();
}
}