始める無料で始める

クラスを拡張する

前の演習では、2つの属性とそれらを設定する2つのメソッドを持つ Employee クラスを定義しました。覚えておいてください。メソッドは関数です。つまり、関数でできることは、メソッドでもできます。

たとえば、メソッドを使って値を表示したり返したり、プロットを作成したりできます。ただし、そのクラスのオブジェクトにとって適切な振る舞いである必要があります。たとえば、Employeepivot_table() メソッドがあるのは不自然でしょう。

この演習では、既存のクラス属性を活用して新しいメソッドを定義する方法を学びます。前の演習で使った Employee クラスと emp オブジェクトは script.py に用意されています。

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

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

コースを見る

演習の手順

  • Employee クラスに、give_raise() というメソッドを追加し、give_raise() に渡された amount 引数の分だけ給与を増やすようにしてください。
  • emp オブジェクトを作成します。
  • empsalary 属性を出力します。
  • emp オブジェクトで give_raise() を呼び出し、給与を 1500 増やします。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

class Employee:
  def set_name(self, new_name):
    self.name = new_name

  def set_salary(self, new_salary):
    self.salary = new_salary 

  # Add a give_raise() method with amount as an argument
  ____ ____(____, ____):
    ____.____ = ____.____ + ____

# Create the emp object
emp = ____
emp.set_name('Korel Rossi')
emp.set_salary(50000)

# Print the salary
print(____.____)

# Give emp a raise of 1500
____.____(____)
print(emp.salary)
コードを編集して実行