Junior
Mi az a polimorfizmus a programozásban?
sobes.tech MI
Válasz az MI-től
A polimorfizmus az objektumok azon képessége, hogy különböző osztályokból származó objektumok ugyanarra az üzenetre (metódushívásra) különböző választ adjanak.
Egyszerűbben fogalmazva, ugyanaz a metódus különböző módon viselkedhet attól függően, hogy melyik objektum hívja meg. Ez öröklés és metódusfelülírás, valamint interfészek használatával érhető el.
Swift példával:
protocol Animal {
func makeSound()
}
class Dog: Animal {
func makeSound() {
print("Hau")
}
}
class Cat: Animal {
func makeSound() {
print("Miau")
}
}
func playSound(animal: Animal) {
animal.makeSound()
}
let dog = Dog()
let cat = Cat()
playSound(animal: dog) // Kiírja: Hau
playSound(animal: cat) // Kiírja: Miau
Itt a playSound függvény egy Animal típusú objektumot fogad, de a konkrét osztály (Dog vagy Cat) függvényében a megfelelő makeSound implementáció hívódik meg.