Junior
Hoe gebruikt de subklasse de functionaliteit van de superklasse?
sobes.tech AI
Antwoord van AI
Door inheritance: de afgeleide klasse ontvangt de openbare en beschermde leden van de ouderklasse.
- Directe toegang: Toegang tot de openbare en beschermde velden en methoden van de ouderklasse kan rechtstreeks via hun naam binnen de afgeleide klasse.
- Sleutelwoord
super: Wordt gebruikt om de constructor van de ouderklasse aan te roepen of om te verwijzen naar overschreven methoden/velden van de ouderklasse wanneer er in de afgeleide klasse leden met dezelfde naam zijn. - Overriding: Methoden van de ouderklasse (die niet
finalzijn) kunnen worden overschreven in de afgeleide klasse, waardoor hun gedrag wordt gewijzigd.
// Voorbeeld van een ouderklasse
class Parent {
protected int parentValue;
public Parent(int value) {
this.parentValue = value;
}
public void displayParentValue() {
System.out.println("Ouderwaarde: " + parentValue);
}
public final void cannotBeOverridden() {
System.out.println("Deze methode kan niet worden overschreven.");
}
}
// Voorbeeld van een afgeleide klasse
class Child extends Parent {
private int childValue;
public Child(int parentValue, int childValue) {
super(parentValue); // Aanroep van de ouderconstructeur
this.childValue = childValue;
}
// Overschrijven van de methode van de ouder
@Override
public void displayParentValue() {
System.out.println("Overschreven ouderwaarde: " + parentValue); // Toegang tot het beschermde veld van de ouder
}
public void displayChildValue() {
System.out.println("Kindwaarde: " + childValue);
}
public void callParentMethod() {
super.displayParentValue(); // Aanroep van de oudermethode via super
}
}