関連記事
クラスとは?
この記事の動画版はこちら(画像クリックでYoutubeに飛びます)
クラスとは?
結論から先に言うと、クラスとは、ある機能を実現するために必要な「変数」群と「関数」群をひとまとめにしたものです。
ひとまとめにしてテンプレート化しておくことで、後から再利用がしやすいというメリットがあります。
例えば、プログラムの中で「メール送信処理」を行おうと思った場合、単純なメール送信なら、関数を1つ呼び出すだけで良いんですが、HTMLメールの送信やファイル添付といった、より高度なメール送信処理を行おうとすると、データの準備や、内容のチェック、ヘッダー情報の設定、送信処理、送信結果のチェック処理など、様々な手順が必要になります。
メール送信は、プログラムの様々な場所で行われたりしますが、毎回、これらのデータ準備や各種処理を書くのは効率が悪いですし、ソースコードも煩雑になってしまいます。
そこで、この処理に使う「変数」や「関数」群をひとまとめにしてテンプレート化しておきます。
こうしておけば、メール送信を行いたいと思ったらこのテンプレートを再利用するだけ良いので
開発の手間も省けますし、処理手順が漏れてしまうようなミスも防げます。
この、ある処理に使う変数群と関数群をひとまとめにしたテンプレートのことを「クラス」といいます。
クラスは、プログラマーが任意に作成することができます。
プロパティとメソッド
PHPでは、クラスの中に定義された変数のことを「プロパティ」、関数のことを「メソッド」と呼びます。
これらは、プログラミング言語によって呼び方が変わることもあるので注意しましょう。
例えば、Javaでは「フィールド」と「メソッド」、C++やC#では「メンバ変数」と「メンバ関数」と呼ばれます。
インスタンスとは?
なお、クラスはあくまで「テンプレート」です。
実際にこのクラスを使う際は、このテンプレートを元にして、メールの宛先や送信元、件名、本文などのデータをセットした「実体」を作成します。
これを「インスタンス」といいます。
クラスという「金型」を使って、実際の製品(インスタンス)を複製するようなイメージですね。
クラスは「金型」、実際に使う際は金型から「インスタンス」を生成して使うと覚えておきましょう!
クラスの作り方、使い方(PHPの場合)
PHPでクラスを作成するには、このように書きます。
「class」という指定の後に、好きなクラス名を定義し {} で括ります。
そして、{}の中にプロパティとメソッドを定義していきます。
これで、金型となるクラスは完成です。
作成したクラスを使う際は、先ほど説明したように、まずはクラスを元にインスタンスを生成します。
インスタンスを生成するには、「new」という指定の後にクラス名を指定します。
これで、Mailクラスのインスタンスが作成され、作成されたインスタンスは$send_mailという変数に入れられます。
クラスのプロパティやメソッドを呼び出すには、アロー演算子(オブジェクト演算子)を使います。
このように書くと、subjectというプロパティにアクセスすることができます。
このように書くと、send()というメソッドを実行することができます。
なお、クラスにはインスタンスが生成されたタイミングで実行される「コンストラクタ」やインスタンスが不要になったタイミングで実行される「デストラクタ」といった特別なメソッドを定義したり、各プロパティにアクセス権を設定して、クラスの外からは取得/設定が行えないようにしたり、「継承」という機能を使って、あるクラスの能力を引き継いだ子クラス作成したりなど、他にも便利な機能が多く備わっています。
これらについては、以下の記事で解説しているので併せて学習してみてください。
まとめ
・クラスとは、ある機能を実現するために必要な「変数」と「関数」をひとまとめにしたもの
・クラスの中では「プロパティ」「メソッド」と呼ばれる
・クラスを使う際は、newで「インスタンス」を生成する
・クラスのプロパティやメソッドにアクセスする際は、アロー演算子で指定する