Heim >Backend-Entwicklung >C++ >Was ist der Unterschied zwischen Schlüsselwörtern 'New' und 'Override' in der Methode -Vererbung?
im Depetenverständnis von Schlüsselwörtern "neu" und "überschreiben"
In der Objekt -orientierten Programmierung ist die Vererbung das Kernkonzept, das es Derivaten ermöglicht, das Verhalten von Basisklassen zu erweitern und zu ändern. Bei der Definition dieser Klassen müssen Entwickler möglicherweise neu schreiben oder eine neue Implementierung erstellen. Um diesen Unterschied zu verdeutlichen, untersuchen wir die folgenden Szenen:
Szene 1: Basisklasse
Diese Grammatik deklariert eine virtuelle Methode in der Basisklasse. Die virtuelle Methode kann in der Derivatkategorie umgeschrieben werden, um eine spezifische Implementierung bereitzustellen.
<code class="language-c#">public virtual void DoIt();</code>Szene 1: Divisionsklasse
In der abgeleiteten Methode erzeugt die Verwendung von "neu" eine neue und unabhängige Methode, und ihr Name ist die gleiche wie die Methode in der Basisklasse. Dies wird jedoch nicht als neu geschrieben angesehen, und wenn die Basisklasse aufgerufen wird, wirkt sich das Verhalten der Basisklassenmethode nicht auf das Verhalten der Basisklasse aus.
Szene 2: Basisklasse<code class="language-c#">public new void DoIt();</code>
Dies ist eine nicht -fassende Methode und kann in der abgeleiteten Klasse nicht umgeschrieben werden. Die Derivate müssen den "neuen" Modifikator verwenden, um eine neue Methode mit demselben Namen zu erreichen. Szene 2: Divisionsklasse
<code class="language-c#">public void DoIt();</code>
"override" -Modifikatoren zeigen an, dass die Methode in der Ableitungsklasse eine andere Methode derselben Signatur in der Basisklasse umschreibt. Wenn das Aufrufen von einer Basisklasse aufgerufen wird, wird die Umschreibungsmethode ausgeführt.
Tatsächliche Unterschiede
<code class="language-c#">public override void DoIt();</code>
In diesem Beispiel "abgeleitet.doit ()" neu geschrieben "base.doit ()" und wenn die Methode "b" variable "doit ()" aus dem "b" -Variablen "abgeleiteten" Objekt aufgerufen wird, wird es aufgerufen. wird gerufen, um es zu nennen.
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Schlüsselwörtern 'New' und 'Override' in der Methode -Vererbung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!