C# でのメソッドのオーバーライドとメソッドの非表示
C# では、メソッドのオーバーライドとメソッドの非表示は、継承されたメソッドを変更するための 2 つの異なるメカニズムです。
メソッドのオーバーライド
メソッドのオーバーライドには、基本クラスでの 仮想メソッド の作成と、派生クラスでのその実装の再定義が含まれます。これにより、派生クラスは、同じメソッド名とパラメーターを保持しながら、より具体的なバージョンまたは変更されたバージョンのメソッドを提供できるようになります。
メソッドのオーバーライドは次の状況で使用されます:
override
キーワードを使用します。 メソッドの非表示
メソッドの隠蔽には、基本クラスのメソッドと同じ名前とパラメーターを持つ 新しいメソッド (new) の作成が含まれます。メソッドのオーバーライドとは異なり、メソッドの隠蔽では派生クラスにまったく新しいメソッドが作成され、基本クラスのメソッドは変更されません。
メソッドの非表示は次の状況で使用されます:
new
キーワードを使用します。 実際の応用
メソッドのオーバーライド:
メソッドの非表示:
例
次の例は、メソッドのオーバーライドとメソッドの非表示を示しています。
<code class="language-csharp">class Animal { public virtual void MakeSound() { Console.WriteLine("Generic animal sound"); } } class Dog : Animal { public override void MakeSound() { Console.WriteLine("Bark"); } public new void Run() // 方法隐藏 { Console.WriteLine("Dog running"); } }</code>
この例では、MakeSound
クラスで Dog
メソッドがオーバーライドされ、具体的な実装が提供されます。 Run
メソッドは非表示になり、新しいメソッドが Dog
クラスに作成されます。
以上がC# におけるオーバーライドと非表示: 違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。