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ā
publicvaiprotected(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.