Junior — Middle
Aký je význam operátora super v kontexte dedičnosti a volania metód alebo konštruktorov základnej triedy?
sobes.tech AI
Odpoveď od AI
Operátor super v Jave sa používa na prístup k metódam alebo konštruktorom základnej (rodičovskej) triedy z odvodené triedy.
Hlavné účely super:
- Volanie konštruktora základnej triedy z konštruktora odvodené triedy, aby sa inicializovala časť objektu definovaná v rodičovi.
- Volanie prepísanej metódy základnej triedy, ak je v odvodené triede potrebné doplniť alebo zmeniť správanie, pričom sa zachová časť logiky rodiča.
Príklad použitia konštruktora:
class Animal {
String name;
Animal(String name) {
this.name = name;
}
}
class Dog extends Animal {
Dog(String name) {
super(name); // volanie konštruktora Animal
}
}
Príklad volania metódy základnej triedy:
class Animal {
void sound() {
System.out.println("Niekto zvuk");
}
}
class Dog extends Animal {
@Override
void sound() {
super.sound(); // volanie metódy základnej triedy
System.out.println("Štekanie");
}
}
Týmto spôsobom super pomáha riadiť dedičnosť a opätovné využívanie kódu základnej triedy.