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.