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.