Junior — Middle
Aké zmeny je potrebné vykonať v definícii triedy, aby bola zabezpečená jej možnosť využívania polymorfizmu?
sobes.tech AI
Odpoveď od AI
Aby ste zabezpečili možnosť používania polymorfizmu v Jave, je potrebné:
- Metódy, ktoré sa majú prepísať v podtriedach, nemajú byť statické ani final.
- Používať kľúčové slovo
overridev podtriedach na prepísanie metód základnej triedy. - V základnej triede by mali byť metódy deklarované ako
publicaleboprotected(aby ich podtriedy mohli prepísať).
Príklad:
class Animal {
public void sound() {
System.out.println("Nejaký zvuk");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("Štekanie");
}
}
// Použitie polymorfizmu
Animal animal = new Dog();
animal.sound(); // Vytlačí "Štekanie"
Preto, aby ste mohli podporovať polymorfizmus, musia byť metódy virtuálne (v Jave sú všetky nestatické metódy predvolene virtuálne). Hlavné je, aby neboli static alebo final.