Heim > Backend-Entwicklung > C++ > Überschreiben im Vergleich zu neu in C#: Wann sollten Sie jedes Schlüsselwort verwenden, um ererbte Methoden zu ändern?

Überschreiben im Vergleich zu neu in C#: Wann sollten Sie jedes Schlüsselwort verwenden, um ererbte Methoden zu ändern?

Barbara Streisand
Freigeben: 2025-01-28 12:11:11
Original
1047 Leute haben es durchsucht

Override vs. New in C#: When Should You Use Each Keyword to Modify Inherited Methods?

Verständnis von Override und neuen Schlüsselwörtern in C#: Wann verwenden Sie sie, um die Vererbungsmethode zu ändern?

In Object -Oriented -Programmierung ist die Fundamentmethode in der Vererbungsklasse sehr wichtig. "Override" und "neue" Schlüsselwörter haben in diesem Zusammenhang unterschiedliche Verwendungen:

<.> 1. Überschreiben Sie das Schlüsselwort

"override" -Modifikator wird verwendet, um die virtuelle Methode oder eine abstrakte Methode in der Basisklasse explizit neu zu schreiben. Bei der Umschreibungsmethode bietet sie eine neue Implementierung, wobei die Signatur der ursprünglichen Methode beibehalten wird. Wenn Sie diese Methode nennen, wird auch wenn Sie sich auf die Basisklasse verweisen, die Umschreibungsmethode wird durchgeführt. <.> 2. Neues Schlüsselwort

"neuer" Modifikator repräsentiert eine andere Implementierungsmethode. Die "neue" Methode schützt die Foundation -Methode, was bedeutet, dass jede Codierung der Basisklasse die ursprüngliche Implementierung ausführt, und der Code, der die Erbschaftsklasse zitiert, wird die "neue" Methode ausführen.

Beispiel:

Betrachten Sie das folgende Codefragment:

In diesem Beispiel hat die "abgeleitete" Klasse die "Doit" -Methode neu geschrieben. Jeder Verweis auf "Base.doit" führt die "Doit" -Methode in der "abgeleiteten" Klasse aus.

In diesem Fall wird "DOIT" in der "abgeleiteten" Klasse als neue Methode angesehen. Der Verweis auf "Base.doit" führt die ursprüngliche Implementierung der "Basis" -Klasse durch, und der Verweis auf "abgeleitet.doit" wird eine neue Implementierung in der "abgeleiteten" Klasse durchführen.

Empfohlene Verwendung:
public class Base
{
    public virtual void DoIt() { }
}

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

Beim Umschreiben von Methoden wird empfohlen, "Override" zu verwenden, da die Methodensignatur beibehält und Polymorphismus ermöglicht. Andererseits wird "neu" verwendet, um verschiedene Methoden aus der Basismethode zu erstellen, die die Vererbungsbeziehung zerstören können.
public class Base
{
    public virtual void DoIt() { }
}

public class Derived : Base
{
    public new void DoIt() { }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonÜberschreiben im Vergleich zu neu in C#: Wann sollten Sie jedes Schlüsselwort verwenden, um ererbte Methoden zu ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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