Junior — Middle
Můžete vysvětlit koncept polymorfismu v objektově orientovaném programování?
sobes.tech AI
Odpověď od AI
Polymorfismus v objektově orientovaném programování je schopnost objektů různých tříd reagovat na stejné zprávy (volání metod) různými způsoby. To umožňuje používat jedno rozhraní pro práci s různými typy objektů.
Příklad v Java:
class Animal {
void sound() {
System.out.println("Nějaký zvuk");
}
}
class Dog extends Animal {
@Override
void sound() {
System.out.println("Štěkání");
}
}
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(); // Vypíše: Štěkání
a2.sound(); // Vypíše: Mňau
}
}
Zde se metoda sound() volá na objektech typu Animal, ale chování závisí na konkrétní podtřídě — to je příklad polymorfismu.