¿Qué es el polimorfismo?
for shape in [Circle(2), Square(3)]:
print(shape.area())Opciones
- Una clase con muchos atributos y muchos métodos dentro
- La misma llamada funciona con distintos tipos, cada uno con su propio código (Opción correcta)
- Cambiar el tipo de una variable mientras corre el programa
- 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.