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.