Junior — Middle
Ce modificări trebuie aduse definiției clasei pentru a asigura posibilitatea utilizării polimorfismului?
sobes.tech AI
Răspuns de la AI
Pentru a asigura posibilitatea utilizării polimorfismului în Java, este necesar:
- Să faceți metodele care urmează să fie suprascrise în subclase să nu fie statice și finale.
- Să folosiți cuvântul cheie
overrideîn subclase pentru a suprascrie metodele clasei de bază. - În clasa de bază, metodele trebuie declarate ca
publicsauprotected(pentru ca subclasele să le poată suprascrie).
Exemplu:
class Animal {
public void sound() {
System.out.println("Un sunet");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("Lătrat");
}
}
// Utilizarea polimorfismului
Animal animal = new Dog();
animal.sound(); // Va afișa "Lătrat"
Prin urmare, pentru a suporta polimorfismul, metodele trebuie să fie virtuale (în Java, toate metodele non-staționale sunt virtuale implicit). Principalul lucru este să nu faceți metodele static sau final.