polymorphismus:abstractclasses
Dies ist eine alte Version des Dokuments!
Abstrakte Klassen
Es macht eigentlich keinen Sinn, die Methode
sagwas()
in der Klasse Tier zu implementieren. Es würde reichen, sie dort nur zu deklarieren (void sagwas();
) und die Implementierung (d.h. die Erstellung der Anweisungen in der Methode drin) den Unterklassen Katze
und Hund
zu überlassen. Dies können wir erreichen, indem wir die Klasse Tier und die Methode sagwas()
als abstract deklarieren:
Merke:
- Wird eine Methode in einer Klasse nur deklariert, aber nicht implementiert, so heißt sie abstrakte Methode.
- Eine Klasse, die mindestens eine abstrakte Methode besitzt, heißt abstrakte Klasse.
- Von einer abstrakten Klasse kann man keine Objekte instanzieren.
- Der Compiler stellt sicher, dass jede nicht-abstrakte Unterklasse einer abstrakten Klasse für alle abstrakten Methoden eine Implementierung besitzt.
polymorphismus/abstractclasses.1678445974.txt.gz · Zuletzt geändert: 2023/03/10 10:59 von Martin Pabst