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
Instrukcje do ćwiczenia
- Dodaj do klasy
Managermetodęgive_raise(), która przyjmuje te same parametry coEmployee.give_raise(), a dodatkowo argumentbonusz domyślną wartością1.05(bonus 5%). - Wewnątrz metody oblicz
new_amount, mnożącamountprzezbonus. - Wewnątrz metody użyj metody klasy
Employee, aby podnieść wynagrodzenie onew_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)