Sobes.tech
Junior — Middle

Jak osiąga się mechanizm polimorfizmu w Javie i jak go zaimplementować w kodzie?

sobes.tech AI

Odpowiedź od AI

W Javie polimorfizm osiąga się poprzez dziedziczenie i nadpisywanie metod, a także przez interfejsy. Pozwala to obiektom różnych klas reagować na te same wywołania metod w różny sposób.

Przykład implementacji polimorfizmu:

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 myDog = new Dog();
        Animal myCat = new Cat();

        myDog.sound(); // Wypisze: Szczekanie
        myCat.sound(); // Wypisze: Miauczenie
    }
}

Tutaj metoda sound() jest wywoływana na obiektach typu Animal, ale faktycznie wykonywana jest implementacja odpowiadająca rzeczywistej klasie obiektu (Dog lub Cat). To jest polimorfizm — jedna interfejs, wiele implementacji.