Sobes.tech
Junior — Middle

Môžeme povedať, že dedičstvo prispieva k realizácii polymorfizmu v objektovo orientovanom programovaní?

sobes.tech AI

Odpoveď od AI

Áno, dedičstvo je jedným z kľúčových mechanizmov, ktoré prispievajú k implementácii polymorfizmu v objektovo orientovanom programovaní. Polymorfizmus umožňuje, aby objekty rôznych tried boli spracovávané cez spoločné rozhranie, a dedičstvo umožňuje vytváranie hierarchií tried, kde podtriedy môžu prepísať metódy základnej triedy.

Napríklad, ak existuje základná trieda Zvieratá s metódou vydajZvuk(), a podtriedy Pes a Mačka prepíšu túto metódu, potom môžeme s objektmi týchto tried pracovať cez odkaz na základnú triedu a volať metódu vydajZvuk(), čím získame rôzne správanie:

class Zvieratá {
    void vydajZvuk() {
        System.out.println("Niekto zvuk");
    }
}

class Pes extends Zvieratá {
    @Override
    void vydajZvuk() {
        System.out.println("Šteká");
    }
}

class Mačka extends Zvieratá {
    @Override
    void vydajZvuk() {
        System.out.println("Mňau");
    }
}

// Použitie
Zvieratá z = new Pes();
z.vydajZvuk(); // Vytlačí "Šteká"