困惑于用C#编写的多态性

时间:2012-05-02 14:43:50

标签: c# class inheritance polymorphism

我的同事告诉我,通过隐藏基类方法并在derive类中实现具有相同签名的另一个方法可以实现多态性,这是真的吗?在现实生活中如何才能这样做?< / p>

2 个答案:

答案 0 :(得分:2)

我想你的朋友在谈论阴影。这不是真正的多态性,应该避免Difference between shadowing and overriding in C#?

答案 1 :(得分:0)

这几乎是反多态的。对于多态,无论何时调用,都应该执行对象的“真实”方法,而不管变量的类型如何;你希望调用derived.Method(),无论你是在类型为base的变量上调用它还是在派生类型中调用它,如果有问题的对象是派生类型的话。

隐藏打破期望。