我的同事告诉我,通过隐藏基类方法并在derive类中实现具有相同签名的另一个方法可以实现多态性,这是真的吗?在现实生活中如何才能这样做?< / p>
答案 0 :(得分:2)
我想你的朋友在谈论阴影。这不是真正的多态性,应该避免Difference between shadowing and overriding in C#?
答案 1 :(得分:0)
这几乎是反多态的。对于多态,无论何时调用,都应该执行对象的“真实”方法,而不管变量的类型如何;你希望调用derived.Method(),无论你是在类型为base的变量上调用它还是在派生类型中调用它,如果有问题的对象是派生类型的话。
隐藏打破期望。