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.