Zacznij terazZacznij za darmo

Dziedziczenie metod

W tym ćwiczeniu rozszerzysz klasę Manager (dziedziczoną z klasy Employee), którą utworzono w poprzednim ćwiczeniu, dodając metodę give_raise(). Będzie ona podobna do metody o tej samej nazwie w klasie Employee, ale przyjmie dodatkowy argument o nazwie bonus.

Klasa Manager, którą wcześniej utworzono, jest już dostępna w pliku script.py.

To ćwiczenie jest częścią kursu

Wprowadzenie do programowania obiektowego w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Dodaj do klasy Manager metodę give_raise(), która przyjmuje te same parametry co Employee.give_raise(), a dodatkowo argument bonus z domyślną wartością 1.05 (bonus 5%).
  • Wewnątrz metody oblicz new_amount, mnożąc amount przez bonus.
  • Wewnątrz metody użyj metody klasy Employee, aby podnieść wynagrodzenie o new_amount.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod