Junior — Middle
89
Kokius pakeitimus reikia atlikti klasės apibrėžime, kad būtų užtikrinta jos galimybė naudoti polimorfizmą?
Atsakymas iš AI
sobes.tech AI
Kadangi norint užtikrinti polimorfizmo naudojimą Java, reikia:
- Metodai, kurie turėtų būti perrašyti pogrupiuose, neturi būti statiniai ar finaliniai.
- Pogrupiuose naudoti raktinį žodį
override, kad perrašytumėte pagrindinio klases metodus. - Pagrindinioje klasėje metodai turi būti deklaruoti kaip
publicarbaprotected(kad pogrupiai galėtų juos perrašyti).
Pavyzdys:
class Animal {
public void sound() {
System.out.println("Tam tikras garsas");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("Laižymas");
}
}
// Polimorfizmo naudojimas
Animal animal = new Dog();
animal.sound(); // Išves "Laižymas"
Taigi, norint palaikyti polimorfizmą, metodai turi būti virtualūs (Java visus nestatinius metodus pagal numatytuosius nustatymus laiko virtualiais). Svarbiausia – nepadaryti jų static ar final.