Sobes.tech
Junior — Middle

Explicați conceptul de polimorfism în programarea orientată pe obiecte și cum se realizează în cod.

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.

În Java, polimorfismul se realizează prin moștenire și suprascrierea metodelor. De exemplu, o clasă de bază declară o metodă, iar subclasele o implementează în mod diferit.

Exemplu:

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, variabila de tip Animal poate face referire la obiecte din diferite subclase, iar apelul metodei sound() va fi executat în funcție de tipul real al obiectului — acesta este polimorfismul.