关于上转型
public class A{
public virtual void G()
{ Console.WriteLine("A.G"); }
public F()
{ Console.WriteLine{"A.F"}; }
}
public class B : A
{
public override void G()
{ Console.WriteLine("B.G"); }
new void F()
{ Console.WriteLine("B.F"); }
}
public class pro
{
public static void Main()
{
B b = new B();
A a = b;
A.G();
B.G();
A.F();
B.F();
}
}
初学C# 就想问这个上转型是怎么回事,网上有人说,是子类转换成了父类,但是实例指向还是指向子类,所以在输出重写方法的时候,输出的是子类的方法,既然是指向子类的,为什么在调用非虚方法的时候,是调用的父类的隐藏方法???
请回答的详细回答问题描述的每个细节,谢谢!!!!!!