Repaso
English

¿Qué es el polimorfismo?

for shape in [Circle(2), Square(3)]:
    print(shape.area())

Opciones

  1. Una clase con muchos atributos y muchos métodos dentro
  2. La misma llamada funciona con distintos tipos, cada uno con su propio código (Opción correcta)
  3. Cambiar el tipo de una variable mientras corre el programa
  4. Copiar un método en muchas clases del mismo programa

Respuesta

La misma llamada (shape.area()) funciona con distintos tipos, y cada uno ejecuta su propia versión

Por qué

Polimorfismo significa 'muchas formas': clases distintas ofrecen el mismo nombre de método, y quien llama no necesita saber qué clase tiene.

El bucle llama a area() en cada figura; Circle y Square la calculan cada una a su manera.

Esto elimina largas cadenas if/elif que comprueban el tipo.

Recuerda

Mismo nombre de método, comportamiento distinto por clase.

Términos clave

Practica esta pregunta en Repaso