Saltar al contenido

Polimorfismo

Python · Unidad 13: Herencia

Si varias clases tienen un método con el mismo nombre, puedes llamarlo sin preguntar de qué clase es cada objeto: cada uno responde a su manera. Eso se llama polimorfismo.

Un solo ciclo sirve para todos.

class Animal:
    def sonido(self):
        return "..."

class Perro(Animal):
    def sonido(self):
        return "guau"

class Pato(Animal):
    def sonido(self):
        return "cuac"

for a in [Perro(), Pato()]:
    print(a.sonido())

Imprime

guau
cuac

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Predice la salida

    Cada forma de pago cobra su comisión. ¿Qué imprime?

  2. 2. Predice la salida

    ¿Qué imprime este código?

  3. 3. Opción múltiple

    En el ejercicio anterior, Cuadro y Tri no heredan de nadie. ¿Por qué funcionó el ciclo?

  4. 4. Encuentra el bug

    Un auto tiene 4 ruedas y una moto, 2. Debería imprimir 6. ¿Qué línea tiene el error?

  5. 5. Predice la salida

    ¿Qué imprime este código?

  6. 6. Completa el código

    Completa para contar solo los perros. Debe imprimir 2.

  7. 7. Ordena las líneas

    Un perro y una gallina. Ordena para sumar sus patas; debe imprimir 6.

  8. 8. Opción múltiple

    Esta función decide el sonido preguntando la clase de cada animal. ¿Cómo queda mejor?

  9. 9. Predice la salida

    ¿Qué imprime este código?

  10. 10. Escribe el código

    Escribe la clase Vendedor: hereda de Empleado, y su pago() es el sueldo más 500 de comisión. Las líneas de abajo deben imprimir 14500.

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →