Junior
Čo je to polymorfizmus v programovaní?
sobes.tech AI
Odpoveď od AI
Polymorfizmus je schopnosť objektov rôznych tried reagovať na rovnaké správy (volania metód) rôznymi spôsobmi.
Jednoducho povedané, tá istá metóda sa môže správať odlišne v závislosti od objektu, ktorý ju volá. Toho sa dosahuje dedičstvom a prepísaním metód, ako aj použitím rozhraní.
Príklad v Swift:
protocol Animal {
func makeSound()
}
class Dog: Animal {
func makeSound() {
print("Hav")
}
}
class Cat: Animal {
func makeSound() {
print("Mňau")
}
}
func playSound(animal: Animal) {
animal.makeSound()
}
let dog = Dog()
let cat = Cat()
playSound(animal: dog) // Vytlačí: Hav
playSound(animal: cat) // Vytlačí: Mňau
Tu funkcia playSound prijíma objekt typu Animal, ale v závislosti od konkrétnej triedy (Dog alebo Cat) sa volá príslušná implementácia metódy makeSound.