Junior
Co je to polymorfismus v programování?
sobes.tech AI
Odpověď od AI
Polymorfismus je schopnost objektů různých tříd reagovat na stejné zprávy (volání metod) různými způsoby.
Jednoduše řečeno, stejná metoda se může chovat odlišně v závislosti na objektu, který ji volá. Toho se dosahuje dědičností a přepisováním metod, stejně jako použitím rozhraní.
Příklad v Swift:
protocol Animal {
func makeSound()
}
class Dog: Animal {
func makeSound() {
print("Haf")
}
}
class Cat: Animal {
func makeSound() {
print("Mňau")
}
}
func playSound(animal: Animal) {
animal.makeSound()
}
let dog = Dog()
let cat = Cat()
playSound(animal: dog) // Vytiskne: Haf
playSound(animal: cat) // Vytiskne: Mňau
Zde funkce playSound přijímá objekt typu Animal, ale v závislosti na konkrétní třídě (Dog nebo Cat) je volána odpovídající implementace metody makeSound.