クラス定義で属性を使う
前の演習では、2つの属性と、それらの属性を設定する2つのメソッドを持つ Employee クラスを定義しました。この種のメソッドは、その名のとおりセッターメソッドと呼ばれますが、メソッドはそれだけではありません。メソッドは関数なので、関数でできることはメソッドでもできます。たとえば、クラスで表されるオブジェクトのふるまいとして妥当であれば、メソッドで出力を表示したり、値を返したり、プロットを作成したり、例外を送出したりできます(Employee に pivot_table() メソッドがあるのはおかしいでしょう)。
この演習では、セッターメソッドを超えて、既存のクラス属性を使って新しいメソッドを定義する方法を学びます。前の演習の Employee クラスと emp オブジェクトはスクリプトペインに用意されています。
この演習はコースの一部です
Python によるオブジェクト指向プログラミング
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
class Employee:
def set_name(self, new_name):
self.name = new_name
def set_salary(self, new_salary):
self.salary = new_salary
emp = Employee()
emp.set_name('Korel Rossi')
emp.set_salary(50000)
# Print the salary attribute of emp
____
# Increase salary of emp by 1500
emp.salary = ____ + ____
# Print the salary attribute of emp again
____