クラスを拡張する
前の演習では、2つの属性とそれらを設定する2つのメソッドを持つ Employee クラスを定義しました。覚えておいてください。メソッドは関数です。つまり、関数でできることは、メソッドでもできます。
たとえば、メソッドを使って値を表示したり返したり、プロットを作成したりできます。ただし、そのクラスのオブジェクトにとって適切な振る舞いである必要があります。たとえば、Employee に pivot_table() メソッドがあるのは不自然でしょう。
この演習では、既存のクラス属性を活用して新しいメソッドを定義する方法を学びます。前の演習で使った Employee クラスと emp オブジェクトは script.py に用意されています。
この演習はコースの一部です
Pythonによるオブジェクト指向プログラミング入門
演習の手順
Employeeクラスに、give_raise()というメソッドを追加し、give_raise()に渡されたamount引数の分だけ給与を増やすようにしてください。empオブジェクトを作成します。empのsalary属性を出力します。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)