Sobes.tech
Junior — Middle

Se poate spune că moștenirea contribuie la implementarea polimorfismului în programarea orientată pe obiecte?

sobes.tech AI

Răspuns de la AI

Da, moștenirea este unul dintre mecanismele cheie care contribuie la implementarea polimorfismului în programarea orientată pe obiecte. Polimorfismul permite tratarea obiectelor din clase diferite printr-o interfață comună, iar moștenirea asigură posibilitatea de a crea ierarhii de clase, în care subclasele pot suprascrie metodele clasei de bază.

De exemplu, dacă există o clasă de bază Animal cu o metodă aFaceSunet(), iar subclasele Câine și Pisică suprascriu această metodă, atunci se pot lucra cu obiecte ale acestor clase printr-o referință la clasa de bază și se poate apela metoda aFaceSunet(), obținând comportamente diferite:

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

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

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

// Utilizare
Animal a = new Caine();
a.aFaceSunet(); // Afișează "Lătrat"