Sobes.tech
Junior — Middle

Meg tudná magyarázni az objektumorientált programozásban a polimorfizmus fogalmát?

sobes.tech MI

Válasz az MI-től

Az objektumorientált programozásban a polimorfizmus az a képesség, hogy különböző osztályok objektumai ugyanarra az üzenetre (metódushívásra) különböző módon reagáljanak. Ez lehetővé teszi, hogy egyetlen interfészt használjunk különböző típusú objektumok kezelésére.

Java példával:

class Animal {
    void sound() {
        System.out.println("Valamilyen hang");
    }
}

class Dog extends Animal {
    @Override
    void sound() {
        System.out.println("ugat");
    }
}

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(); // Kiírja: ugat
        a2.sound(); // Kiírja: miau
    }
}

Itt a sound() metódus Animal típusú objektumokon hívódik meg, de a viselkedés a konkrét alosztálytól függ — ez a polimorfizmus példája.