Sobes.tech
Junior — Middle

Kādus grozījumus jāveic klases definīcijā, lai nodrošinātu tās iespēju izmantot polimorfismu?

sobes.tech AI

Atbilde no AI

Lai nodrošinātu polimorfisma izmantošanu Java, ir nepieciešams:

  • Metodes, kuras ir paredzēts pārrakstīt apakšklasēs, nedrīkst būt statiskas vai final.
  • Apakšklasēs izmantot atslēgvārdu override, lai pārrakstītu bāzes klases metodes.
  • Bāzes klasē metodes jādeklarē kā public vai protected (lai apakšklases tās varētu pārrakstīt).

Piemērs:

class Animal {
    public void sound() {
        System.out.println("Kāds skaņa");
    }
}

class Dog extends Animal {
    @Override
    public void sound() {
        System.out.println("Rej");
    }
}

// Polimorfisma izmantošana
Animal animal = new Dog();
animal.sound(); // Izvadīs "Rej"

Tādējādi, lai atbalstītu polimorfismu, metodes ir jābūt virtuālām (Java visām nestatiskajām metodēm pēc noklusējuma ir virtuālas). Galvenais ir nepadarīt tās static vai final.