Vererbung in Java

Was ist Vererbung?

Vererbung ist ein Mechanismus in Java, der es ermöglicht, eine Klasse von einer anderen Klasse abzuleiten, das heißt die abgeleitete Klasse (oder Unterklasse/Kindklasse) übernimmt alle Eigenschaften und alle Methoden der Basisklasse (oder Oberklasse/Elternklasse/Superklasse) und kann diese um neue Funktionalitäten erweitern oder alte Methoden überschreiben.

Warum Vererbung verwenden?

Grundstruktur der Vererbung

Die Schlüsselwörter extends und super werden verwendet, um Vererbung umzusetzen.


public class Elternklasse {
    // Eigenschaften und Methoden
}

public class Kindklasse extends Elternklasse {
    // Zusätzliche Eigenschaften und Methoden
}
            

Beispiel: Vererbung in Java

Hier ist ein Beispiel mit einer Basisklasse Fahrzeug und einer abgeleiteten Klasse Auto:


public class Fahrzeug {
    String marke; // Achtung: private Attribute sind auch von Kindklassen aus nicht zugreifbar!

    public Fahrzeug(String marke) {
        this.marke = marke;
    }

    public void starteMotor() {
        System.out.println("Der Motor des Fahrzeugs wird gestartet.");
    }
}

public class Auto extends Fahrzeug {
    private int anzahlTueren;

    public Auto(String marke, int anzahlTueren) {
        super(marke); // Ruft den Konstruktor der Elternklasse auf
        this.anzahlTueren = anzahlTueren;
    }

    @Override
    public void starteMotor() {
        System.out.println("Der Motor des Autos wird gestartet.");
    }

    public void zeigeInfo() {
        System.out.println("Marke: " + marke);
        System.out.println("Anzahl Türen: " + anzahlTueren);
    }
}
            

Verwendung im Hauptprogramm:


Auto meinAuto = new Auto("BMW", 4);

meinAuto.starteMotor(); // Überschriebene Methode wird aufgerufen
meinAuto.zeigeInfo();   // Methode der Kindklasse
            

Wichtige Schlüsselwörter

Begrenzungen der Vererbung

Java unterstützt nur einfache Vererbung (eine Klasse kann nur von einer anderen Klasse erben). Eine Mehrfachvererbung ist nicht möglich!

Zusammenfassung