Java
Vererbung
Vererbung teilt gemeinsames Verhalten: Eine Unterklasse erbt Felder und Methoden und ergänzt Eigenes.
extends und super
extends macht eine Klasse zur Unterklasse einer anderen.
super(...) ruft den Konstruktor der Elternklasse auf und steht als erste Anweisung im Konstruktor.
<extends><super>
Ableitung
public class Fahrzeug {
protected int tempo;
public void fahre() {
System.out.println("Faehrt mit " + tempo);
}
}
public class Auto extends Fahrzeug {
public Auto() {
this.tempo = 120;
}
}Überschreiben
@Override markiert eine Methode, die Verhalten der Elternklasse ersetzt. Der Compiler prüft die Signatur.
Polymorphie: Eine Fahrzeug-Variable kann ein Auto halten — aufgerufen wird die Auto-Version der Methode.
<@Override><polymorphism>
Override
public class Auto extends Fahrzeug {
@Override
public void fahre() {
System.out.println("Auto fährt auf der Straße");
}
}
Fahrzeug f = new Auto();
f.fahre(); // "Auto fährt auf der Straße"Grenzen der Vererbung
Java erlaubt nur eine direkte Elternklasse. Für mehrere Verträge gibt es Interfaces.
Tiefe Vererbungshierarchien werden schnell unübersichtlich — Komposition ist oft die bessere Wahl.
<final><composition>
Fortschritt
Markiere die Lektion als abgeschlossen, um XP und Streak zu erhalten.