Junior — Middle
Jaký je význam operátoru super v kontextu dědičnosti a volání metod nebo konstruktorů základní třídy?
sobes.tech AI
Odpověď od AI
Operátor super v jazyce Java se používá k přístupu k metodám nebo konstruktorům základní (rodičovské) třídy z odvozené třídy.
Hlavní účely super:
- Volání konstruktoru základní třídy z konstruktoru odvozené třídy, aby se inicializovala část objektu definovaná v rodiči.
- Volání přepsané metody základní třídy, pokud je potřeba v odvozené třídě doplnit nebo změnit chování, přičemž se zachová část logiky rodiče.
Příklad použití konstruktoru:
class Animal {
String name;
Animal(String name) {
this.name = name;
}
}
class Dog extends Animal {
Dog(String name) {
super(name); // volání konstruktoru Animal
}
}
Příklad volání metody základní třídy:
class Animal {
void sound() {
System.out.println("Nějaký zvuk");
}
}
class Dog extends Animal {
@Override
void sound() {
super.sound(); // volání metody základní třídy
System.out.println("Štěkání");
}
}
Tímto způsobem super pomáhá řídit dědičnost a znovu využívat kód základní třídy.