Sobes.tech
Junior — Middle

Vysvetlite koncept polymorfizmu v objektovo orientovanom programovaní a ako sa realizuje v kóde.

sobes.tech AI

Odpoveď od AI

Polymorfizmus v objektovo orientovanom programovaní je schopnosťou objektov rôznych tried reagovať na rovnaké správy (volania metód) rôznymi spôsobmi. To umožňuje používať jednotné rozhranie na prácu s rôznymi typmi objektov.

V Jave je polymorfizmus realizovaný prostredníctvom dedičnosti a prepisovania metód. Napríklad, základná trieda deklaruje metódu, ktorú podtriedy implementujú svojím spôsobom.

Príklad:

class Animal {
    void sound() {
        System.out.println("Nejaký zvuk");
    }
}

class Dog extends Animal {
    @Override
    void sound() {
        System.out.println("Štekanie");
    }
}

class Cat extends Animal {
    @Override
    void sound() {
        System.out.println("Mňau");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal a1 = new Dog();
        Animal a2 = new Cat();
        a1.sound(); // Vytlačí "Štekanie"
        a2.sound(); // Vytlačí "Mňau"
    }
}

Tu môže premenná typu Animal odkazovať na objekty rôznych podtried a volanie metódy sound() bude závislé od skutočného typu objektu — to je polymorfizmus.