Heim >Backend-Entwicklung >C++ >Schatten vs. Übergeordnet in C#: Was ist der Unterschied?
versteckt und umschreiben in C#: In -Tepth -Analyse
In der Objekt -orientierten Programmierung ist der Vererbungsmechanismus für die Expansion und Modifikation sehr wichtig. Es gibt jedoch zwei verschiedene Mechanismen beim Ändern von Methoden: Verstecken und Umschreiben.
versteckt: Die Methode zur Abschirmung des Fundaments
versteckt ist ein gleichnamiges Mitglied wie ein Mitglied, das von der Basisklasse geerbt wurde. Anders als neu geschrieben wird die abgeleitete Klasse keine Vater -Sonnenbeziehung aufbauen. Stattdessen schafft es eine neue Einheit versteckter Stiftungsmitglieder.
Folgendes ist ein Beispiel:
In dieser Szene verbirgt die in Hund deklarierte Sayhello () -Methode die vom Tier geerbte Methode. Wenn das Hundeobjekt Sayhello () aufruft, wird die versteckte Methode ausgeführt, um die Implementierung der Basisklasse zu blockieren.
<code class="language-csharp">class Animal { public virtual string SayHello() { return "Hello from Animal"; } } class Dog : Animal { public new string SayHello() { return "Hello from Dog"; } }</code>Umschreiben: Ändern Sie das Verhalten der Basisklassenmethode
Andererseits bezieht sich das Umschreiben auf dieselbe Signaturmethode der Erbschaft des Sub -Classes -Zustands wie die Erbschaft der Elternklasse. Standardmäßig erbt die Umschreibungsmethode den Zugriff auf den Modifikator und den Rückgabetyp der Basisklassenmethode. Sie können jedoch die Verwirklichung des Zolls ändern.
In diesem Beispiel schreibt die Sayhello () -Methode im Hund die im Tier definierte Methode neu. Wenn Sie das Hundeobjekt aufrufen, wird die Umschreibungsmethode bereitgestellt, um kundenspezifische Verhaltensweisen für den Hund bereitzustellen.Der Schlüsselunterschied zwischen dem Verstecken und dem Umschreiben
<code class="language-csharp">class Animal { public virtual string SayHello() { return "Hello from Animal"; } } class Dog : Animal { public override string SayHello() { return "Hello from Dog"; } }</code>
Zugriffsberechtigungen: Der Zugriff auf die Basismethode zur Reservierung der Basisklassenmethode und die verborgene Ermöglichung der abgeleiteten Klasse, sie zu ändern.
Vererbungsbeziehung:Das obige ist der detaillierte Inhalt vonSchatten vs. Übergeordnet in C#: Was ist der Unterschied?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!