1

嗨,我的同事刚刚告诉我,可以通过隐藏基类方法并在派生类中实现具有相同签名的另一个方法来实现多态性,这是真的吗?在现实生活中如何需要?

4

2 回答 2

2

我猜你的朋友在谈论阴影。这不是真正的多态性,应该避免C# 中的阴影和覆盖之间的区别?

于 2012-05-02T14:46:24.657 回答
0

这几乎是反多态性。无论变量的类型如何,只要调用对象的“真实”方法,就应该执行多态性;如果所讨论的对象是派生类型,则无论您在基类变量还是派生类型变量上调用它,您都希望调用derived.Method()。

隐藏打破了这种期望。

于 2012-05-02T14:49:43.947 回答