Sobes.tech
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 final zijn) 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
    }
}