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

Dědičnost metod

V tomto cvičení rozšíříš třídu Manager (která dědí od třídy Employee), vytvořenou v předchozím cvičení, o novou metodu give_raise(). Bude podobná metodě stejného názvu ve třídě Employee, ale navíc bude přijímat argument bonus.

Třída Manager, kterou jsi vytvořil/a dříve, je již připravena v souboru script.py.

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

Úvod do objektově orientovaného programování v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Přidej do třídy Manager metodu give_raise(), která přijímá stejné parametry jako Employee.give_raise(), plus argument bonus s výchozí hodnotou 1.05 (bonus 5 %).
  • Uvnitř metody vypočítej new_amount jako součin amount a bonus.
  • Uvnitř metody použij metodu třídy Employee pro navýšení platu o hodnotu new_amount.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

class Employee:
  def __init__(self, name, salary=30000):
    self.name = name
    self.salary = salary

  def give_raise(self, amount):
    self.salary += amount

class Manager(Employee):
  def display(self):
    print("Manager ", self.name)

  def __init__(self, name, salary=50000, project=None):
    Employee.__init__(self, name, salary)
    self.project = project

  # Add a give_raise method
  ____:
    ____
    ____
    
mngr = Manager("Ashta Dunbar", 78500)
mngr.give_raise(2000, bonus=1.03)
print(mngr.salary)
Upravit a spustit kód