Junior — Middle
Quali modifiche devono essere apportate alla definizione della classe per garantire la possibilità di utilizzare il polimorfismo?
sobes.tech AI
Risposta dell'AI
Per garantire la possibilità di utilizzare il polimorfismo in Java, è necessario:
- Rendere i metodi che si prevede di sovrascrivere nelle sottoclassi non statici e non finali.
- Utilizzare la parola chiave
overridenelle sottoclassi per sovrascrivere i metodi della classe base. - Nella classe base, i metodi devono essere dichiarati come
publicoprotected(per consentire alle sottoclassi di sovrascriverli).
Esempio:
class Animal {
public void sound() {
System.out.println("Un suono");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("Abbaio");
}
}
// Uso del polimorfismo
Animal animal = new Dog();
animal.sound(); // Stampa "Abbaio"
Pertanto, per supportare il polimorfismo, i metodi devono essere virtuali (in Java, tutti i metodi non statici sono virtuali per impostazione predefinita). La cosa principale è non rendere i metodi static o final.