Sobes.tech
Junior — Middle

Kas saaksite selgitada polümorfismi kontseptsiooni objektorienteeritud programmeerimises?

sobes.tech AI

Vastus AI-lt

Objektorienteeritud programmeerimises on polümorfism võimekus, et erinevate klasside objektid reageerivad samadele sõnumitele (meetodite kutsumisele) erinevalt. See võimaldab kasutada ühte liidest erinevate objektitüüpide töötlemiseks.

Näide Java keeles:

class Animal {
    void sound() {
        System.out.println("Mingi hääl");
    }
}

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(); // Väljund: Haugumine
        a2.sound(); // Väljund: Miau
    }
}

Siin kutsutakse sound() meetodit Animal tüüpi objektidel, kuid käitumine sõltub konkreetse alamklassi omadustest — see on polümorfismi näide.