Junior
Wie nutzt eine abgeleitete Klasse die Funktionalität der Elternklasse?
sobes.tech KI
Antwort von AI
Durch Vererbung: Die abgeleitete Klasse erhält die öffentlichen und geschützten Mitglieder der Basisklasse.
- Direkter Zugriff: Auf die öffentlichen und geschützten Felder und Methoden der Basisklasse kann innerhalb der abgeleiteten Klasse direkt über ihren Namen zugegriffen werden.
- Schlüsselwort
super: Wird verwendet, um den Konstruktor der Basisklasse aufzurufen oder um auf überschriebenen Methoden/Felder der Basisklasse zuzugreifen, wenn in der abgeleiteten Klasse Mitglieder mit demselben Namen vorhanden sind. - Überschreiben (overriding): Die Methoden der Basisklasse (die nicht
finalsind) können in der abgeleiteten Klasse überschrieben werden, um ihr Verhalten zu ändern.
// Beispiel für eine Basisklasse
class Parent {
protected int parentValue;
public Parent(int value) {
this.parentValue = value;
}
public void displayParentValue() {
System.out.println("Elternwert: " + parentValue);
}
public final void cannotBeOverridden() {
System.out.println("Diese Methode kann nicht überschrieben werden.");
}
}
// Beispiel für eine abgeleitete Klasse
class Child extends Parent {
private int childValue;
public Child(int parentValue, int childValue) {
super(parentValue); // Aufruf des Konstruktors der Basisklasse
this.childValue = childValue;
}
// Überschreiben der Methode der Basisklasse
@Override
public void displayParentValue() {
System.out.println("Überschriebener Elternwert: " + parentValue); // Zugriff auf das geschützte Feld des Elternteils
}
public void displayChildValue() {
System.out.println("Kind-Wert: " + childValue);
}
public void callParentMethod() {
super.displayParentValue(); // Aufruf der Methode der Basisklasse via super
}
}