求C#程序执行过程,步骤和结果,谢谢!
public abstract class A
{
public A()
{
Console.WriteLine('A');
}
public virtual void Fun()
{
Console.WriteLine("A.Fun()");
}
}
public class B: A
{
public B()
{
Console.WriteLine('B');
}
public new void Fun()
{
Console.WriteLine("B.Fun()");
}
public static void Main()
{
A a = new B();
a.Fun();
}
}作者: 陈冲 时间: 2012-7-16 23:29
1.使用子类B创建对象:
a)调用父类B的构造函数B(){};
b)在构造函数中;未输出B之前,调用父类A的构造函数A(){},输出A;
c)然后执行构造函数B(){}的输出语句,输出B;
2.使用子类创建的对象实例化a(向上转型)
3.调用A的Fun()函数,输出A.Fun()。
结果如下图: