ComenzarEmpieza gratis

Métodos polimorfos

Para diseñar clases de forma eficaz, debes comprender cómo funcionan conjuntamente la herencia y el polimorfismo.

En este ejercicio, tienes tres clases -una padre y dos hijas-, cada una de las cuales tiene 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 el resultado del código anterior?

1. 2.

¡Hablan los padres!
¡Hablan los padres!
¡Hablan los padres!      

      

¡Hablan los padres!
¡El niño habla!
¡Niño parlanchín que habla!     
      
      
3. 4.

¡Hablan los padres!
¡El niño habla!
¡Hablan los padres! 
¡Niño parlanchín que habla!
¡Hablan los padres!      
      
      

¡Hablan los padres!
¡El niño habla!
¡Niño parlanchín que habla!
¡Hablan los padres!      

      

**Deberías ser capaz de completar el ejercicio simplemente 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

Empieza el ejercicio