IniziaInizia gratis

Metodi polimorfici

Per progettare classi in modo efficace, devi capire come ereditarietà e polimorfismo lavorano insieme.

In questo esercizio hai tre classi — una genitore e due figlie — ognuna con un metodo talk(). Analizza il seguente codice:

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()

Qual è l'output del codice qui sopra?

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!      

      

Dovresti riuscire a completare l'esercizio semplicemente leggendo il codice, senza eseguirlo nella console!

Questo esercizio fa parte del corso

Programmazione orientata agli oggetti in Python

Visualizza il corso

Esercizio pratico interattivo

Passa dalla teoria alla pratica con uno dei nostri esercizi interattivi

Inizia esercizio