CommencerCommencer gratuitement

Méthodes polymorphes

Pour concevoir des classes efficacement, vous devez comprendre comment l’héritage et le polymorphisme fonctionnent ensemble.

Dans cet exercice, vous avez trois classes — une parente et deux enfants — qui possèdent chacune une méthode talk(). Analysez le code suivant :

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

Quel est le résultat de ce code ?

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!      

      

Vous devriez pouvoir réaliser cet exercice simplement en lisant le code, sans l’exécuter dans la console.

Cet exercice fait partie du cours

Programmation orientée objet en Python

Afficher le cours

Exercice interactif pratique

Passez de la théorie à la pratique avec l’un de nos exercices interactifs

Commencer l’exercice