Sobes.tech
Junior

Cum utilizează clasa copil funcționalitatea clasei părinte?

sobes.tech AI

Răspuns de la AI

Prin moștenire: clasa moștenitoare primește membrii publici și protejați ai clasei părinte.

  • Acces direct: Se poate accesa direct câmpurile și metodele publice și protejate ale părintelui după nume în interiorul clasei moștenitoare.
  • Cuvântul cheie super: Este folosit pentru a apela constructorul părintelui sau pentru a accesa metodele/câmpurile suprascrise ale părintelui atunci când în clasa moștenitoare există membri cu același nume.
  • Suprascriere (overriding): Metodele părintelui (care nu sunt final) pot fi suprascrise în clasa moștenitoare, modificându-și comportamentul.
// Exemplu de clasă părinte
class Parent {
    protected int parentValue;

    public Parent(int value) {
        this.parentValue = value;
    }

    public void displayParentValue() {
        System.out.println("Valoarea părintelui: " + parentValue);
    }

    public final void cannotBeOverridden() {
        System.out.println("Această metodă nu poate fi suprascrisă.");
    }
}

// Exemplu de clasă moștenitoare
class Child extends Parent {
    private int childValue;

    public Child(int parentValue, int childValue) {
        super(parentValue); // Apelarea constructorului părintelui
        this.childValue = childValue;
    }

    // Suprascrierea metodei părintelui
    @Override
    public void displayParentValue() {
        System.out.println("Valoarea suprascrisă a părintelui: " + parentValue); // Acces la câmpul protejat al părintelui
    }

    public void displayChildValue() {
        System.out.println("Valoarea copilului: " + childValue);
    }

    public void callParentMethod() {
        super.displayParentValue(); // Apelarea metodei părintelui prin super
    }
}