Sobes.tech
Junior — Middle

Care este funcția operatorului super în contextul moștenirii și apelului metodelor sau constructorilor clasei de bază?

sobes.tech AI

Răspuns de la AI

Operatorul super în Java este utilizat pentru a accesa metodele sau constructorii clasei de bază (părinte) dintr-o subclasă.

Principalele utilizări ale super:

  • Apelarea constructorului clasei de bază din constructorul subclasei pentru a inițializa partea obiectului definită în părintele.
  • Apelarea unei metode suprascrise a clasei de bază dacă în subclasă trebuie să completeze sau să modifice comportamentul, păstrând o parte din logica părintelui.

Exemplu de utilizare a constructorului:

class Animal {
    String name;
    Animal(String name) {
        this.name = name;
    }
}

class Dog extends Animal {
    Dog(String name) {
        super(name); // apelarea constructorului Animal
    }
}

Exemplu de apel al metodei clasei de bază:

class Animal {
    void sound() {
        System.out.println("Un sunet");
    }
}

class Dog extends Animal {
    @Override
    void sound() {
        super.sound(); // apelarea metodei clasei de bază
        System.out.println("Lătrat");
    }
}

Astfel, super ajută la gestionarea moștenirii și reutilizarea codului clasei de bază.