Heim > Backend-Entwicklung > C++ > Was bedeutet das Schlüsselwort „new' in einer Methodensignatur?

Was bedeutet das Schlüsselwort „new' in einer Methodensignatur?

Susan Sarandon
Freigeben: 2025-01-05 07:55:41
Original
756 Leute haben es durchsucht

What Does the `new` Keyword Mean in a Method Signature?

Neues Schlüsselwort in der Methodensignatur

Frage:Was bedeutet das neue Schlüsselwort in einer Methodensignatur?

Antwort: In einer Methodensignatur gibt das Schlüsselwort new an, dass die Methode neu ist Methode in der abgeleiteten Klasse, die die Basisklassenimplementierung einer Methode verbirgt. Es unterscheidet sich vom Schlüsselwort override, das nur zum Überschreiben virtueller Methoden verwendet werden kann, die in der Basisklasse deklariert sind.

Beispiel:

Betrachten Sie die folgende Basisklasse:

public class Base
{
    public void BaseMethod() {}
}
Nach dem Login kopieren

Jetzt erstellen wir eine abgeleitete Klasse, die die BaseMethod-Methode mithilfe der Überschreibung überschreibt Schlüsselwort:

public class Derived : Base
{
    public override void BaseMethod() {}
}
Nach dem Login kopieren

In diesem Beispiel teilt das Schlüsselwort „override“ dem Compiler mit, dass die BaseMethod-Methode in der abgeleiteten Klasse die Basisklassenimplementierung überschreibt.

Jetzt erstellen wir jedoch eine andere abgeleitete Klasse class und verwenden Sie das neue Schlüsselwort in der Methodensignatur:

public class AnotherDerived : Base
{
    public new void BaseMethod() {}
}
Nach dem Login kopieren

Im obigen Beispiel wird das neue Schlüsselwort verwendet, weil die BaseMethod-Methode in der Die abgeleitete Klasse überschreibt nicht die Implementierung der Basisklasse. Stattdessen wird eine neue Methode mit demselben Namen wie die Basisklassenmethode erstellt.

Hauptunterschiede zwischen new und override:

  • Überschreibbar Methoden: Das Schlüsselwort override kann nur zum Überschreiben virtueller Methoden in der Basisklasse verwendet werden. Das neue Schlüsselwort kann sowohl virtuelle als auch nicht virtuelle Methoden verbergen.
  • Sichtbarkeit: Überschriebene Methoden müssen die gleiche oder eine stärker abgeleitete Sichtbarkeit als die Basisklassenmethode haben. Neue Methoden können eine beliebige Sichtbarkeit haben.
  • Aufruf: Wenn eine Methode mit demselben Namen aus der Basisklassenreferenz aufgerufen wird, wird die Basisklassenimplementierung für überschriebene Methoden aufgerufen. Für neue Methoden wird jedoch die abgeleitete Klassenimplementierung aufgerufen.

Das obige ist der detaillierte Inhalt vonWas bedeutet das Schlüsselwort „new' in einer Methodensignatur?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage