2012-05-02 5 views
1

こんにちは私の仲間は、基本クラスメソッドを隠し、同じシグネチャで別のメソッドを実装することで多態性を達成することができると教えてくれました。現実の状況では?C#で書かれた多態性と混同されています

+1

MSDNのC#プログラミングガイドには多態性に関する[全セクション](http://msdn.microsoft.com/en-us/library/ms173152%28v=vs.100%29.aspx)があり、他のトピックの中に新しいメンバーを持つ基本クラスのメンバーを隠すことを含む。 – raveturned

+0

私は不明な点がわからない。この質問は、C#の「機能」と実際の多形性を隠すことに関する混乱についてのものであり、以下にこの混乱に対処する質問があることは明らかです。 – Andy

答えて

2

あなたの友人はシャドーイングについて話していたと思います。真の多型ではなく、避けるべきです。Difference between shadowing and overriding in C#?

+1

シャドウイングは、C#がHidingと呼ぶもののVBの言葉に過ぎません。 –

+0

@empi、リンクバディに感謝してくれました。 –

+0

@HenkHolterman - ありがとう、それを知らなかった。陰影がはるかによく聞こえます。有益な答えのために+1 – empi

0

これはかなり多型です。オブジェクトの '実際の'メソッドは、変数の型にかかわらず、多態性のために呼び出されるたびに実行されます。対象のオブジェクトが派生型である場合、derived.Method()をbase型の変数または派生型の型で呼び出すかどうかが必要です。

期待したことを隠しています。

+0

+1ありがとう:) –

関連する問題