1

こんにちは私の同僚は、基本クラスのメソッドを非表示にし、派生クラスで同じシグネチャを持つ別のメソッドを実装することでポリモーフィズムを実現できると言いました。

4

2 に答える 2

2

あなたの友人はシャドーイングについて話していたと思います。これは真のポリモーフィズムではなく、避けるべきです C# でのシャドーイングとオーバーライドの違いは?

于 2012-05-02T14:46:24.657 に答える
0

それはほとんどアンチポリモーフィズムです。オブジェクトの「実際の」メソッドは、変数の型に関係なく、ポリモーフィズムのために呼び出されるたびに実行する必要があります。問題のオブジェクトが派生型の場合、base 型または派生型の変数で呼び出すかどうかにかかわらず、built.Method() が呼び出されることを期待します。

隠すことはその期待を裏切ります。

于 2012-05-02T14:49:43.947 に答える