Abstrakte Klasse

abstract class

Eine Abstrakte Klasse ist eine Klasse, die gemeinsame Merkmale ihrer Unterklassen festlegt, ohne alle Implementierungen zu beinhalten. Eine Abstrakte Klasse enthält dazu eine oder mehrere Methodendeklarationen, für die keine Implementierung angegeben wird. Von Abstrakten Klassen können deshalb keine Instanzen erzeugt werden. Unterklassen von Abstrakten Klassen vervollständigen die Klassendefinition durch die fehlenden Implementierungen der Methoden und definieren evtl. weitere Merkmale. Dabei sind Merkmale der Oberbegriff für die charakteristischen Eigenschaften eines Objekts, d.h. dessen Attribute und Methoden.

Für den Software-Entwurf und das Projektmanagement sind Klassen interessant, die nicht vollständig implementiert werden müssen und deshalb auch keine Instanzen haben dürfen - das sind sogenannte Abstrakte Klassen. Mit diesen Klassen können zum einen Implementierungsteile, die in mehreren Klassen redundant auftauchen, zusammengefasst und dann vererbt werden. Zum anderen kann ein Mindest-Protokoll (das sind die Methoden), das für alle Klassen einer Gruppe verbindlich sein soll, festgelegt und an diese vererbt werden. In diesem Zusammenhang soll auch die verschiedenen Sichtbarkeits- und Zugriffsschutzmechanismen erwähnt werden. Ihre Kombination der verschiedenen Sichten auf Klassen und Objekte lassen viele Varianten der Datenkapselung zu.

Mit Hilfe der Abstrakten Klasse als gemeinsame Basisklasse können "ähnliche" Klassen in eine "künstliche" Klassenhierarchie eingebracht werden. Dadurch werden die Einsatzmöglichkeiten der Polymorphie, die in statisch getypten Sprachen auf die Verwendung von Instanzen auf Unterklassen beschränkt ist, erweitert.

Inhalt teilen

Partner