Junior — Middle
Selgitage välja polümorfismi kontseptsiooni objektorienteeritud programmeerimises ja kuidas see koodis realiseerub.
sobes.tech AI
Vastus AI-lt
Objektorienteeritud programmeerimise polümorfism on võime erinevatel klassidel olevatel objektidel reageerida samadele sõnumitele (meetodite kutsumisele) erinevalt. See võimaldab kasutada ühtset liidest erinevate objektitüüpide töötlemiseks.
Java-s realiseeritakse polümorfism pärimise ja meetodite ülekirjutamise kaudu. Näiteks deklareerib baasklass meetodi, mille alklassid rakendavad omal moel.
Näide:
class Animal {
void sound() {
System.out.println("Mõni heli");
}
}
class Dog extends Animal {
@Override
void sound() {
System.out.println("Haugumine");
}
}
class Cat extends Animal {
@Override
void sound() {
System.out.println("Miau");
}
}
public class Main {
public static void main(String[] args) {
Animal a1 = new Dog();
Animal a2 = new Cat();
a1.sound(); // Trükib "Haugumine"
a2.sound(); // Trükib "Miau"
}
}
Siin võib muutuja tüüpi Animal viidata erinevate alamklasside objektidele ning meetodi sound() väljakutse käivitub vastavalt objekti tegelikule tüübile — see on polümorfism.