始める無料で始める

メソッドの継承

この演習では、前の演習で作成した Employee クラスを継承する Manager クラスを拡張し、give_raise() というメソッドを作成します。Employee クラスの同名メソッドとほぼ同じですが、bonus という追加の引数を受け取ります。

前の演習で作成した Manager クラスは script.py に用意されています。

この演習はコースの一部です

Pythonによるオブジェクト指向プログラミング入門

コースを見る

演習の手順

  • Managergive_raise() メソッドを追加し、Employee.give_raise() と同じ引数に加えて、既定値を 1.05(5% のボーナス)とする bonus 引数を受け取るようにします。
  • メソッド内で、amountbonus を掛けて 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)
コードを編集して実行