Vererbung
Vererbung
Die Vererbung ist ein grundlegendes Prinzip der objektorientierten Programmierung. Sie ermöglicht es, dass eine Klasse (Unterklasse) die Eigenschaften und Methoden einer anderen Klasse (Basisklasse) übernimmt. Dadurch können gemeinsame Funktionen einmal definiert und von mehreren Klassen genutzt oder erweitert werden.
Grundidee
Eine Basisklasse stellt allgemeine Attribute und Methoden bereit. Eine Unterklasse erbt diese und kann zusätzlich eigene Funktionen hinzufügen oder geerbtes Verhalten überschreiben.
Beispielidee:
- Basisklasse: Fahrzeug
- Unterklasse: Auto
- Unterklasse: Motorrad
Beispiel im Code
class Fahrzeug {
int geschwindigkeit;
void fahren() { System.out.println("Fahrzeug fährt"); }
}
class Auto extends Fahrzeug {
void hupen() { System.out.println("Hupe!"); }
}
Die Klasse Auto erbt geschwindigkeit und fahren() von Fahrzeug.
Das Schlüsselwort extends
Vererbung wird in Java mit dem Schlüsselwort extends definiert:
class Unterklasse extends Basisklasse { }
protected in der Vererbung
Das Zugriffsmodifikator protected spielt eine wichtige Rolle bei der Vererbung:
- protected erlaubt Zugriff **innerhalb der Klasse**,
- **innerhalb desselben Pakets**,
- und – am wichtigsten – durch **Unterklassen**, auch wenn sie in einem anderen Paket liegen.
Dadurch können geerbte Eigenschaften geschützt, aber trotzdem vererbbar und nutzbar bleiben.
Beispiel:
class Fahrzeug {
protected int geschwindigkeit; // Unterklassen dürfen zugreifen
}
class Auto extends Fahrzeug {
void beschleunigen() {
geschwindigkeit += 10; // erlaubt, weil protected
}
}
Vorteile der Vererbung
- vermeidet doppelten Code
- schafft übersichtliche Klassenhierarchien
- Unterklassen können Verhalten anpassen (Methoden überschreiben)
- erleichtert Wartbarkeit und Erweiterbarkeit
Kurzmerksatz
Vererbung ermöglicht Code-Wiederverwendung und Spezialisierung. protected erlaubt Unterklassen den Zugriff auf geerbte Elemente, ohne sie öffentlich zu machen.
