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
Barbara StreisandOriginal
2025-01-28 12:11:11994Durchsuche

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:
<code class="language-C#">public class Base
{
    public virtual void DoIt() { }
}

public class Derived : Base
{
    public override void DoIt() { }
}</code>

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.
<code class="language-C#">public class Base
{
    public virtual void DoIt() { }
}

public class Derived : Base
{
    public new void DoIt() { }
}</code>

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!

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