Heim >Backend-Entwicklung >C++ >Übergeordnetes gegen das Schatten in C#: Wann sollten Sie jede Technik anwenden?

Übergeordnetes gegen das Schatten in C#: Wann sollten Sie jede Technik anwenden?

Linda Hamilton
Linda HamiltonOriginal
2025-01-28 13:56:09950Durchsuche

Overriding vs. Shadowing in C#: When Should You Use Each Technique?

Die Methode in der Methode im C#umschreiben und versteckt

In Bezug auf die Vererbung bietet C# zwei verschiedene Technologien, um die Methode in der Basisklasse neu zu definieren: neu schreiben und verstecken. Diese beiden Technologien haben grundlegende Unterschiede in Bezug auf Arbeitsmethoden und Einfluss auf die Erbschaftskette.

versteckt

Hidden ermöglicht es Ihnen, eine gleichnamige gleichnamige Methode zu erstellen, aber Schlüsselwörter werden nicht verwendet. Diese Methode ist ein lokales Mitglied der abgeleiteten Klasse geworden und versteckt die Foundation -Methode. Wenn eine abgeleitete Instanz die versteckte Methode aufruft, wird die Implementierung dieser Klasse unabhängig von der Struktur der Vererbungsebene direkt ausgeführt.

Beispiel: override

In diesem Beispiel wird die Methode in der Klasse

versteckt, und die Methode
<code class="language-csharp">class A
{
   public int Foo(){ return 5;}
   public virtual int Bar(){return 5;}
}
class B : A
{
   public new int Foo() { return 1;}     //隐藏
   public override int Bar() {return 1;} //重写
}</code>
wird umgeschrieben. Wenn

( Instanz) Foo aufruft, gibt es B zurück, da die Bar in clB direkt. B Foo Umschreiben 1 B Foo Im Gegensatz dazu erfordert das Umschreiben

Schlüsselwörter. Sie können die neue Implementierung virtueller Methoden in der Basisklasse definieren. Wenn die abgeleitete Instanz die Umschreibungsmethode aufruft, wird sie in der abgeleiteten Klasse gemäß der Erbschaftskette implementiert.

Beispiel:

im vorherigen Beispiel wird die Methode von override

umgeschrieben. Wenn aufruft, gibt es

zurück, da in umschreibt.

Der Unterschied zwischen verborgenem und neuem Umschreiben B Bar clB Die Wahl zwischen verstecktem und neuem Umschreiben hängt von Ihren spezifischen Anforderungen ab: Bar 1 B versteckt: Bar Wenn Sie die Vererbungsmethode der Basisklasse verbergen und die lokale Implementierung verwenden möchten, verwenden Sie Hidden.

Nachwaren Sie: Wenn Sie die Vererbungsmethode neu definieren und die Implementierung der abgeleiteten Klasse ausführen möchten, verwenden Sie das Umschreiben.

Das obige ist der detaillierte Inhalt vonÜbergeordnetes gegen das Schatten in C#: Wann sollten Sie jede Technik anwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn