Sobes.tech
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.