Sobes.tech
Junior

¿Qué es el polimorfismo en programación?

sobes.tech AI

Respuesta de la IA

El polimorfismo es la capacidad de objetos de diferentes clases para responder a los mismos mensajes (llamadas a métodos) de manera diferente.

En términos simples, el mismo método puede comportarse de manera diferente dependiendo del objeto que lo llama. Esto se logra mediante herencia y sobrescritura de métodos, así como mediante el uso de interfaces.

Ejemplo en Swift:

protocol Animal {
    func makeSound()
}

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

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

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

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

playSound(animal: dog) // Imprime: Gau
playSound(animal: cat) // Imprime: Miau

Aquí, la función playSound acepta un objeto de tipo Animal, pero dependiendo de la clase concreta (Dog o Cat), se llama a la implementación correspondiente del método makeSound.