#74

メソッド(振る舞いを持たせる)

属性を操作するメソッドを定義し、データを安全に扱うオブジェクトを作る。

解説

属性(データ)に加えて、メソッド(振る舞い)を持たせると、オブジェクトらしくなります。 銀行口座を例にします。残高 balance を属性に持ち、deposit(入金)・withdraw(出金)・show(表示)というメソッドで操作します。メソッドの中から self.balance を読み書きすることで、そのインスタンスの状態を更新します。 withdraw では、残高より多い金額は引き出せないように if でチェックしています。このように「データを直接いじらず、メソッドを通して安全に操作する」のがオブジェクト指向の考え方です。 balance=0 のように引数に既定値を付けると、省略したときの初期値を決められます。

書き方

メソッドは self.属性 を読み書きして振る舞いを表す。
・def メソッド名(self, 引数...): クラス内に定義。
・既定値つき引数: def __init__(self, owner, balance=0): 省略時は 0。
・self.balance += amount のように状態を更新できる。
・return で処理を途中で抜けられる(早期リターン)。

書いて動かす

この回の課題

BankAccount クラスに入金・出金・残高表示のメソッドを作り、残高不足のときは出金できないようにしてみよう。

コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。

もっと本格的に使うなら

Windows版 InsightPy なら、書いたコードを保存して業務の自動化まで進められます。学習センターはずっと無料です。