Sobes.tech
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 override v podtriedach na prepísanie metód základnej triedy.
  • V základnej triede by mali byť metódy deklarované ako public alebo protected (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.