Sobes.tech
Junior — Middle

Puteți explica conceptul de polimorfism în programarea orientată pe obiecte?

sobes.tech AI

Răspuns de la AI

Polimorfismul în programarea orientată pe obiecte este capacitatea obiectelor din clase diferite de a răspunde diferit la aceleași mesaje (apeluri de metode). Acest lucru permite utilizarea unei interfețe unice pentru a lucra cu diferite tipuri de obiecte.

Exemplu în Java:

class Animal {
    void sound() {
        System.out.println("Un sunet");
    }
}

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

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

public class Main {
    public static void main(String[] args) {
        Animal a1 = new Dog();
        Animal a2 = new Cat();
        a1.sound(); // Va afișa: Lătrat
        a2.sound(); // Va afișa: Miau
    }
}

Aici, metoda sound() este apelată pe obiecte de tip Animal, dar comportamentul depinde de subclasa concretă — acesta este polimorfismul.