Abstrakte Klasse

Definition - Was bedeutet abstrakte Klasse?

In Programmiersprachen ist eine abstrakte Klasse eine generische Klasse (oder ein Objekttyp), die als Grundlage für die Erstellung bestimmter Objekte verwendet wird, die ihrem Protokoll oder den von ihr unterstützten Operationen entsprechen. Abstrakte Klassen werden nicht direkt instanziiert.

Abstrakte Klassen sind nützlich, wenn Hierarchien von Klassen erstellt werden, die die Realität modellieren, da sie es ermöglichen, in einigen Methoden eine unveränderliche Funktionalitätsebene anzugeben, andere Methoden jedoch so lange zu implementieren, bis eine bestimmte Implementierung dieser Klasse (eine abgeleitete Klasse) erforderlich ist.

Technische.me erklärt Abstract Class

In objektorientierten Programmiersprachen (OOP) repräsentieren Klassen Objekte im Bereich des Problems, das die Software lösen soll. Klassen umfassen Sammlungen von Attributen (Eigenschaften) und Verhaltensweisen (Methoden), die auf zuvor definierten Klassen basieren können. Programmierer verwenden die Vererbung, um die spezifische Implementierung abstrakter Klassen abzuleiten. Klassen, die von abstrakten Klassen abgeleitet sind, werden als abgeleitete Klassen bezeichnet. Wenn dieses Prinzip viele Male hintereinander angewendet wird, führt dies zu einer Hierarchie von Klassen. In diesem Zusammenhang bilden abstrakte Klassen die Wurzel dieser Hierarchie und werden verwendet, um Methoden zu erzwingen, die in den abgeleiteten Klassen überschrieben werden müssen, um mögliche Laufzeitfehler zu vermeiden.

Eine abstrakte Klasse hat mindestens eine abstrakte Methode. Eine abstrakte Methode enthält keinen Code in der Basisklasse. Der Code wird in den abgeleiteten Klassen hinzugefügt. Die abstrakte Methode in der abgeleiteten Klasse sollte mit demselben Zugriffsmodifikator, derselben Anzahl und demselben Argumenttyp und mit demselben Rückgabetyp wie die Basisklasse implementiert werden. Objekte vom abstrakten Klassentyp können nicht erstellt werden, da der Code zum Instanziieren eines Objekts vom abstrakten Klassentyp zu einem Kompilierungsfehler führt.