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
Pokyny k cvičení
- Přidej do třídy
Managermetodugive_raise(), která přijímá stejné parametry jakoEmployee.give_raise(), plus argumentbonuss výchozí hodnotou1.05(bonus 5 %). - Uvnitř metody vypočítej
new_amountjako součinamountabonus. - Uvnitř metody použij metodu třídy
Employeepro navýšení platu o hodnotunew_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)