関数は、1つの処理を1つにまとめたものですが、こうした関数がたくさん増えてくると、次第に「どれがどういう役割のものか訳がわからない」ということになってきます。例えば、何百も関数が並んでいたら、それを全部理解していくのは大変ですね?
そこで、「同じような役割のものは、更にひとまとめにしてしまおう」と誰しも考えることになります。
例えば、何かのデータ処理を作ることを考えてみましょう。データを管理する関数、データを追加する関数、データを削除する関数、データを出力する関数……なんてものがずらっと並んでいるのではあまり使いやすくありません。
そこで、「データを扱うために必要なもの」をすべて一つのかたまりにしてやろう、と考えるようになってきました。大きな「データ関係のかたまり」というのを作り、その中に「データを保管しておく変数」「データをファイルに読み書きする関数」「データを追加したり削除する関数」「データを出力する関数」……というように、そのデータの扱いに必要な変数や関数を全部ひとつにまとめてしまうのです。
そうすれば、データの扱いに関しては、とりあえず「このかたまりの中に必ずある」ということになりますから、あちこちの関数を探さなくてもすみます。
これが「
クラス」の考え方です。クラスというのは、ある目的のために必要になる「値」と「処理」をすべてひとまとめにしたものです。
このクラスは、下に書いたような形で作成します。「
class クラス名:」というもので始まり、その下に、クラスに用意する変数や関数をインデントして記述します。
※クラスの定義 class クラス名:
変数
変数
……必要なだけ変数を用意……
def メソッド ( 引数 ):
……メソッドの処理……
def メソッド ( 引数 ):
……メソッドの処理……
……必要なだけメソッドを用意……
クラスに必要な値を保管する変数を「
メンバー変数」、クラスに用意する関数を「
メソッド」と呼びます。
これらの書き方は、基本的に普通の変数や関数の書き方と変わりありません。ただ単に、「
class ◯◯:」という定義の中に書けば、メンバー変数やメソッドとして扱われるようになる、というだけです。特別な書き方などはありません。