class Program
{
static void Main(string[] args)
{
Parent p = new Child();
p.Print();
}
}
class Parent
{
public virtual void Print()
{
Console.WriteLine("This is parent.");
}
}
class Kid:Parent
{
public override void Print()
{
Console.WriteLine("This is Kid.");
}
}
class Child : Kid
{
public new virtual void Print()
{
Console.WriteLine("This is Child.");
}
}
爲什麼輸出「這是孩子」,而不是「這是孩子」?爲什麼標識符重用不會生效,如果一個成員是從一個上調對象調用?
Print()
in class Child
is virtual。
我試圖理解發生了什麼。
你的問題(他們做什麼)不匹配標題(它是如何工作的)。但都是(很多時候)重複。你不清楚你不明白什麼。 – 2012-08-14 10:14:06
@ user1559463我編輯了你的問題標題。現在適合你的話題。 – 2012-08-14 10:26:57