Sobes.tech
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 public sau protected (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.