Sobes.tech
Junior — Middle

Magyarázza el az objektumorientált programozásban a polimorfizmus fogalmát, és hogyan valósul meg a kódban.

sobes.tech MI

Válasz az MI-től

Az objektumorientált programozásban a polimorfizmus azon képesség, hogy különböző osztályok példányai ugyanarra az üzenetre (metódushívásra) különbözőképpen reagáljanak. Ez lehetővé teszi egységes felület használatát különböző típusú objektumokkal való munkához.

Java-ban a polimorfizmust öröklés és metódusfelülírás révén valósítják meg. Például az alap osztály deklarál egy metódust, amit az alosztályok saját módjukon valósítanak meg.

Példa:

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

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

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(); // "Bark" kiírása
        a2.sound(); // "Miau" kiírása
    }
}

Itt az Animal típusú változó különböző alosztályok példányaira hivatkozhat, és a sound() metódus hívása az objektum tényleges típusától függően fog végrehajtódni — ez a polimorfizmus.