【发布时间】:2017-03-22 05:59:18
【问题描述】:
我无法理解输出。我有以下两个课程,
class A
{
public int i = 1;
public virtual void Print()
{
Console.WriteLine("I am A");
}
}
class B:A
{
public int i =2 ;
public override void Print()
{
i++;
Console.WriteLine("I am B");
}
}
现在,当我运行以下代码时,
A a1 = new PolymorphismInDepth.B();
a1.Print();
Console.WriteLine(a1.i);
我得到以下输出,
我是B
1
为什么我得到 1?为什么不是 2?
【问题讨论】:
标签: c# inheritance dynamic polymorphism