Was ist eine abstrakte Klasse in C#? | Definition, Eigenschaften vs. Beispiele

Abstraktion in der Programmierung bezieht sich darauf, unnötige, wenn auch sehr wichtige Informationen zu verbergen und nur bestimmte Schlüssel- oder erforderliche Informationen für den Benutzer sichtbar zu machen. Dies wird durch die Verwendung abstrakter Klassen ermöglicht.

Die abstrakte Klasse in C# ist im Wesentlichen eine Klasse, die keine Objekterstellung zulässt. „Abstract“ ist ein Schlüsselwort oder ein Modifikator, der bewirkt, dass diese bestimmte Klasse oder Methode abstrakt oder eingeschränkt ist. Auf eine abstrakte Klasse kann nur durch Vererbung von einer anderen Klasse zugegriffen werden.

Key Take Away

  1. Abstrakte Klassen sind unvollständige Klassen, die nicht instanziiert werden können, aber als Basis dienen, von der andere erben können.
  2. Sie enthalten mindestens eine rein virtuelle Funktion, was bedeutet, dass sie keine Implementierung hat und von einer abgeleiteten Klasse definiert werden muss.
  3. Abstrakte Klassen können Member-Variablen und Member-Funktionen mit Implementierung haben, auf sie kann jedoch nicht über Objekte der abstrakten Klasse zugegriffen werden.

Eigenschaften und Komponenten der Abstract-Klasse in C#

Bestimmte Faktoren müssen vorhanden sein, damit eine abstrakte Klasse initiiert oder darauf zugegriffen werden kann. Sie wurden wie folgt aufgelistet.

  1. Eine abstrakte Klasse erstellt eine Basisklasse, auf die gemeinsam von mehreren abgeleiteten Klassen zugegriffen wird. Programmierer müssen eine abgeleitete Klasse erstellen, um eine abstrakte Klasse zu verwenden oder zu implementieren.
  2. Die abstrakte Klasse muss also von Unterklassen geerbt werden, die sogar die Funktion überschreiben können.
  3. Jede abstrakte Klasse benötigt mindestens eine abstrakte Methode.

Beispiel einer abstrakten Klasse in C#

Da der Mechanismus kompliziert und nur für diejenigen verständlich ist, die mit der Programmierung vertraut sind Sprache, ist es besser, mit einem einfachen Beispiel zu beginnen, um das Konzept zu erklären.

Lesen Sie auch:  Git Fetch vs. Git Pull: Unterschied und Vergleich

Angenommen, es existiert eine Klasse „Baum“ mit einer vorhandenen entworfenen Methode, die als „Typ“ bekannt ist. Nichts anderes wird definiert, und es werden keine weiteren besonderen Informationen bereitgestellt – man kennt weder die Baumart noch die möglichen Typen.

Wenn ein bestimmtes Beispiel eines Baums verfügbar ist, wird durch die Vererbung der Basisklasse Tree eine separate Klasse erstellt. Die Idee ist, dass die neue Klasse, sagen wir Pine or Eiche, kann das Konstrukt oder die Definition der Basisklasse, also Tree, nicht ändern. Sie muss ihre von der Klasse Tree abgeleitete Klasse erstellen und eine andere von der Basis geerbte Methode definieren.

Vorteile der abstrakten Klasse in C#

  1. Während Unterklassen wählen können, ob sie eine abstrakte Klasse entweder implementieren oder überschreiben möchten, gibt es bestimmte Änderungen gemacht werden können, die eine bestimmte zu implementierende Funktion erfordern.
  2. Somit besteht beim Entwurf einer abstrakten Klasse ein hohes Maß an Flexibilität, welche Methoden unbedingt implementiert werden müssen.
  3. Der Programmierer kann wählen, wie viele abstrakte Methoden er in einer abstrakten Klasse haben möchte. Es ist auch möglich, den Code ohne abstrakte Methoden zu schreiben.
  4. Eine abstrakte Klasse muss nur einmal definiert werden und kann so oft wie nötig aufgerufen oder abgeleitet werden.
  5. Eine abstrakte Klasse ist sehr nützlich, wenn es eine Reihe von Klassen gibt, die einen gewissen Grad an Gemeinsamkeit aufweisen, sich aber in ihrer Implementierung von der abstrakten Klasse unterscheiden.

Nachteile der abstrakten Klasse in C#

  1. Eine abstrakte Klasse kann nur dann zur Klassenhierarchie hinzugefügt werden, wenn keine abstrakten Klassen existieren.
  2. Objekte jeder abstrakten Klasse können nur referenziert, niemals erstellt werden.
  3. Obwohl abstrakte Klassen nicht instanziiert werden können, erlaubt es keine statischen Variablen oder Methoden.
Bibliographie
  1. https://books.google.co.in/books?hl=en&lr=&id=UbJa11wLcqYC&oi=fnd&pg=PA125&dq=Abstract+Class+in+C%23&ots=y9lmboLlHj&sig=kk5oYAJSHpmo-FyHphcAlkUh4cc&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
  2. https://books.google.co.in/books?hl=en&lr=&id=-w9ftEtwPGwC&oi=fnd&pg=PP8&dq=Abstract+Class+in+C%23&ots=XXCx6-5nlm&sig=CYfs0myaTnm1anSz4QUGcZ65uS4&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
Lesen Sie auch:  Multiplexer vs. Decoder: Unterschied und Vergleich

Letzte Aktualisierung: 11. Juni 2023

Punkt 1
Eine Bitte?

Ich habe mir so viel Mühe gegeben, diesen Blogbeitrag zu schreiben, um Ihnen einen Mehrwert zu bieten. Es wird sehr hilfreich für mich sein, wenn Sie es in den sozialen Medien oder mit Ihren Freunden / Ihrer Familie teilen möchten. TEILEN IST ♥️

23 Gedanken zu „Was ist eine abstrakte Klasse in C#?“ | Definition, Eigenschaften vs. Beispiele“

  1. Der Artikel beschreibt gut die Vor- und Nachteile. Eine umfassende Referenz für alle, die mehr über abstrakte Klassen in C# erfahren möchten.

    antworten
  2. Dieser Artikel beleuchtet nicht nur die Vorteile, sondern geht auch auf die Nachteile einer abstrakten Klasse in C# ein. Eine wirklich gründliche Analyse!

    antworten
  3. Ich finde die Flexibilität beim Entwerfen einer abstrakten Klasse sehr faszinierend. In diesem Artikel werden sowohl die Vor- als auch die Nachteile klar und verständlich dargestellt.

    antworten

Hinterlasse einen Kommentar

Möchten Sie diesen Artikel für später speichern? Klicken Sie auf das Herz in der unteren rechten Ecke, um in Ihrer eigenen Artikelbox zu speichern!