Abstrakte und Statische Klassen in der Programmierung
Definition und Zweck abstrakter Klassen
Konzept der Abstraktion: Eine Klasse kann explizit als
definiert werden. Dies kennzeichnet sie als eine abstrakte Klasse im Objektorientierten Design.Funktion als Vorlage: Eine abstrakte Klasse fungiert primär als Vorlage (–Template–) für andere Klassen. Sie dient nicht dazu, selbst als Objekt instanziiert zu werden, sondern definiert eine gemeinsame Basis für abgeleitete Unterklassen.
Strukturvorgabe: Sie legt fest, welche Eigenschaften und Methoden die Klassen, die von ihr erben, besitzen müssen, um eine konsistente Schnittstelle zu gewährleisten.
Eigenschaften und Funktionalität in der Programmierung
Elementdefinition: Innerhalb einer abstrakten Klasse ist es möglich, –Dinge zu definieren–. Dies umfasst:
- Die Deklaration von Attributen (Variablen).
- Die Definition von Methodenköpfen (Signaturen), die in den Unterklassen zwingend implementiert werden müssen.
Implementierungsspielraum: Neben reinen Definitionen können abstrakte Klassen auch bereits ausformulierte Methoden (konkrete Methoden) enthalten, die von den Unterklassen übernommen oder überschrieben werden können.
Abgrenzung und Ergänzung: Statische Klassen
Statische Klassen: Im Diskurs wird kurz der Begriff der –statischen Klasse– angeführt.
Vergleich: - Sowohl von abstrakten Klassen als auch von statischen Klassen können keine Instanzen (Objekte) mittels eines Konstruktors erzeugt werden. - Während eine abstrakte Klasse (
) auf Vererbung und Polymorphie ausgelegt ist, dient eine statische Klasse oft als Container für Hilfsmethoden und Konstanten, die global ohne Objektbezug zugänglich sind.