ComenzarEmpieza gratis

Métodos polimórficos

Para diseñar clases de forma eficaz, necesitas entender cómo funcionan juntos la herencia y el polimorfismo.

En este ejercicio tienes tres clases —una madre y dos hijas—, cada una con un método talk(). Analiza el siguiente código:

class Parent:
    def talk(self):
        print("Parent talking!")     

class Child(Parent):
    def talk(self):
        print("Child talking!")          

class TalkativeChild(Parent):
    def talk(self):
        print("TalkativeChild talking!")
        Parent.talk(self)


p, c, tc = Parent(), Child(), TalkativeChild()

for obj in (p, c, tc):
    obj.talk()

¿Cuál es la salida del código anterior?

1. 2.

Parent talking!
Parent talking!
Parent talking!      

      

Parent talking!
Child talking!
Talkative Child talking!     
      
      
3. 4.

Parent talking!
Child talking!
Parent talking! 
Talkative Child talking!
Parent talking!      
      
      

Parent talking!
Child talking!
Talkative Child talking!
Parent talking!      

      

¡Deberías poder completar el ejercicio solo leyendo el código, sin ejecutarlo en la consola!

Este ejercicio forma parte del curso

Programación orientada a objetos en Python

Ver curso

Ejercicio interactivo práctico

Pon en práctica la teoría con uno de nuestros ejercicios interactivos

Empezar ejercicio