Sobes.tech
Junior — Middle

Czy możesz wyjaśnić koncepcję polimorfizmu w programowaniu obiektowym?

sobes.tech AI

Odpowiedź od AI

Polimorfizm w programowaniu obiektowym to zdolność obiektów różnych klas do reagowania na te same komunikaty (wywołania metod) w różny sposób. Pozwala to na użycie jednej interfejsu do pracy z różnymi typami obiektów.

Przykład w Java:

class Animal {
    void sound() {
        System.out.println("Jakiś dźwięk");
    }
}

class Dog extends Animal {
    @Override
    void sound() {
        System.out.println("Szczekanie");
    }
}

class Cat extends Animal {
    @Override
    void sound() {
        System.out.println("Miauczenie");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal a1 = new Dog();
        Animal a2 = new Cat();
        a1.sound(); // Wypisze: Szczekanie
        a2.sound(); // Wypisze: Miauczenie
    }
}

Tutaj metoda sound() jest wywoływana na obiektach typu Animal, ale zachowanie zależy od konkretnej podklasy — to jest polimorfizm.