Začněte nyníZačněte zdarma

Polymorfní metody

Aby ses naučil/a navrhovat třídy efektivně, je důležité pochopit, jak dědičnost a polymorfismus fungují dohromady.

V tomto cvičení máš tři třídy – jednu rodičovskou a dvě potomky – každá z nich má metodu talk(). Analyzuj následující kód:

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

Jaký je výstup výše uvedeného kódu?

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!      

      

Cvičení by sis měl/a být schopen/schopna vyřešit pouze čtením kódu, bez jeho spuštění v konzoli!

Toto cvičení je součástí kurzu

Object-Oriented Programming in Python

Zobrazit kurz

Interaktivní praktické cvičení

Proměňte teorii v praxi s jedním z našich interaktivních cvičení

Začít cvičení