Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 3.0 C代码需要完美的输出和对齐_C# 3.0 - Fatal编程技术网

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