using System;
namespace CSharp
{
class A
{
public virtual void F()
{
Console.WriteLine("A.F()");
}
}
class B:A
{
public override void F()
{
Console.WriteLine("B.F()");
}
}
class C:B
{
public new void F()
{
Console.WriteLine("C.F()");
}
}
class D:C
{
}
class Test
{
public static void Main()
{
D d = new D();
A a = d;
B b = d;
C c = d;
a.F();
b.F();
c.F();
d.F();
}
}
}
我想知道运行的结果
还有为什么会得出这个结果..
那几个关键字有什么不同吗?
namespace CSharp
{
class A
{
public virtual void F()
{
Console.WriteLine("A.F()");
}
}
class B:A
{
public override void F()
{
Console.WriteLine("B.F()");
}
}
class C:B
{
public new void F()
{
Console.WriteLine("C.F()");
}
}
class D:C
{
}
class Test
{
public static void Main()
{
D d = new D();
A a = d;
B b = d;
C c = d;
a.F();
b.F();
c.F();
d.F();
}
}
}
我想知道运行的结果
还有为什么会得出这个结果..
那几个关键字有什么不同吗?
