Sobes.tech
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.