0

请看下面的简单程序。

public class Class2
{
    public Class2()
    {
        Console.WriteLine("Base class const");
    }
    public void func()
    {
        Console.WriteLine("Base class method");
    }
}

public class DClass : Class2
{
    public DClass()
    {
        Console.WriteLine("Child class const");
    }
    public void func()
    {
        Console.WriteLine("Child class method");
    }
}

现在主要是我打电话

Class2 obj2 = new DClass();
obj2.func();

这个程序的输出应该是什么以及为什么。我不想使用new关键字或虚拟覆盖关键字。

4

1 回答 1

0

从它的外观来看,这个函数将被调用

--> public void func()
{
    Console.WriteLine("Child class method-ye nai call ho raha"");
}

你问为什么,因为在对象声明中你明确声明 obj2 是 DClass 的一个新类,它是 Class2 的子类 --> Class2 obj2 = new DClass();

obj2.func(); 
于 2013-08-16T12:02:29.143 回答