【发布时间】:2015-07-12 22:12:44
【问题描述】:
我读过的大多数关于继承层次结构中方法的多态性的文章没有提供发生这种情况的原因。有人可以提供以下行为的原因或类比吗?
Class A{
public void Print(){
Console.WriteLine("A.Print");
}
}
Class B : A{
public void Print(){
Console.WriteLine("B.Print");
}
}
Class Test{
public static void Main(string[] args){
A a = new B();
a.Print(); // Prints "A.Print"
}
}
Test 类中的代码打印“A.Print”,但为什么?
【问题讨论】:
-
console.printline(),不错。 -
感谢 Toumash 提供的好代码。版主,请您删除此问题的重复标签。我相信新标题完全集中了没有明确询问或回答的主题。谢谢!
标签: c# inheritance polymorphism overriding virtual