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á"