Überschreiben von Eigenschaften in Unterklassen in C#

Muhammad Zeeshan 12 Oktober 2023
  1. Übersicht zum Überschreiben in C#
  2. Verwenden Sie die Eigenschaft abstract, um Eigenschaften in Unterklassen in C# zu überschreiben
Überschreiben von Eigenschaften in Unterklassen in C#

In diesem Artikel erfahren Sie, wie Sie mit C# Felder oder Eigenschaften in Unterklassen überschreiben. Lassen Sie uns einen Überblick über das Überschreiben in C# geben.

Übersicht zum Überschreiben in C#

Durch das Überschreiben kann eine untergeordnete Klasse eine bereits vorhandene Methode in der übergeordneten Klasse implementieren. Diese Fähigkeit stand bisher nur der übergeordneten Klasse zur Verfügung.

Da die Unterklasse eine Methode mit ähnlichem Namen wie die in der Basisklasse enthält, wird die Implementierung in der Unterklasse gegenüber der in der Basisklasse priorisiert.

Angenommen, wir haben eine abstrakte Basisklasse und möchten ein Feld oder eine Eigenschaft mit einem eindeutigen Wert in jeder Klasse definieren, die von dieser übergeordneten Klasse geerbt wird. Und wir wollen es in der Basisklasse angeben, damit wir in einer Methode, die zur Basisklasse gehört, darauf verweisen können.

Verwenden Sie die Eigenschaft abstract, um Eigenschaften in Unterklassen in C# zu überschreiben

Die Verwendung einer abstrakten Eigenschaft, die dann von geerbten Klassen überschrieben werden kann, ist der optimale Ansatz für die obige Situation. Dies hat mehrere Vorteile, darunter, dass es erzwungen wird, sauber ist und überschrieben werden kann.

abstract class Tree {
  abstract public int MyLeaf { get; set; }
}

Aber es scheint ein wenig seltsam, einen fest codierten Wert zurückzugeben, anstatt ein Feld zu kapseln, und dazu sind ein paar Codezeilen mehr erforderlich als nur eine. Wir müssen einen Körper für die set-Operation deklarieren, aber das ist von geringer Bedeutung, und es gibt wahrscheinlich eine Technik, um dies zu umgehen, mit der wir nicht vertraut sind.

class Root : Tree {
  public override int MyLeaf {
    get { return 1; }
    set {}
  }
}

Vollständiger Beispielcode:

abstract class Tree {
  abstract public int MyLeaf { get; set; }
}

class Root : Tree {
  public override int MyLeaf {
    get { return 1; }
    set {}
  }
}
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

Verwandter Artikel - Csharp Property