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