Sobes.tech
Junior

Šta je polimorfizam u programiranju?

sobes.tech АИ

Одговор од АИ

Polimorfizam je sposobnost objekata različitih klasa da reaguju na iste poruke (pozive metoda) na različite načine.

Jednostavno rečeno, ista metoda može da se ponaša drugačije u zavisnosti od objekta koji je poziva. To se postiže putem nasleđivanja i prepisivanja metoda, kao i korišćenjem interfejsa.

Primer u Swift:

protocol Animal {
    func makeSound()
}

class Dog: Animal {
    func makeSound() {
        print("Gau")
}

class Cat: Animal {
    func makeSound() {
        print("Mijau")
}
}

func playSound(animal: Animal) {
    animal.makeSound()
}

let dog = Dog()
let cat = Cat()

playSound(animal: dog) // Ispisaće: Gau
playSound(animal: cat) // Ispisaće: Mijau

Ovde, funkcija playSound prihvata objekat tipa Animal, ali u zavisnosti od konkretne klase (Dog ili Cat), poziva se odgovarajuća implementacija metode makeSound.