メソッドの継承
この演習では、前の演習で作成した Employee クラスを継承する Manager クラスを拡張し、give_raise() というメソッドを作成します。Employee クラスの同名メソッドとほぼ同じですが、bonus という追加の引数を受け取ります。
前の演習で作成した Manager クラスは script.py に用意されています。
この演習はコースの一部です
Pythonによるオブジェクト指向プログラミング入門
演習の手順
Managerにgive_raise()メソッドを追加し、Employee.give_raise()と同じ引数に加えて、既定値を1.05(5% のボーナス)とするbonus引数を受け取るようにします。- メソッド内で、
amountにbonusを掛けてnew_amountを計算します。 - メソッド内で、
Employeeのメソッドを使って、給与をnew_amountだけ引き上げます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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)