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"