ÎncepețiÎncepe gratuit

Metode polimorfice

Pentru a proiecta clase eficient, trebuie să înțelegi cum funcționează împreună moștenirea și polimorfismul.

În acest exercițiu ai trei clase – un părinte și doi copii – fiecare cu câte o metodă talk(). Analizează următorul cod:

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

Care este rezultatul codului de mai sus?

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!      

      

Ar trebui să poți rezolva exercițiul doar citind codul, fără să îl rulezi în consolă!

Acest exercițiu face parte din cursul

Programare orientată pe obiecte în Python

Vezi cursul

Exercițiu interactiv practic

Transformă teoria în practică cu unul dintre exercițiile noastre interactive

Începe exercițiul