Junior
Cos'è il polimorfismo nella programmazione?
sobes.tech AI
Risposta dell'AI
Il polimorfismo è la capacità di oggetti di classi diverse di rispondere in modo diverso ai medesimi messaggi (chiamate di metodi).
In parole semplici, lo stesso metodo può comportarsi in modo diverso a seconda dell'oggetto che lo invoca. Ciò si ottiene attraverso l'ereditarietà e la sovrascrittura dei metodi, nonché attraverso l'uso di interfacce.
Esempio in Swift:
protocol Animal {
func makeSound()
}
class Dog: Animal {
func makeSound() {
print("Bau")
}
}
class Cat: Animal {
func makeSound() {
print("Miao")
}
}
func playSound(animal: Animal) {
animal.makeSound()
}
let dog = Dog()
let cat = Cat()
playSound(animal: dog) // Stampa: Bau
playSound(animal: cat) // Stampa: Miao
Qui, la funzione playSound accetta un oggetto di tipo Animal, ma a seconda della classe concreta (Dog o Cat), viene chiamata l'implementazione corrispondente del metodo makeSound.