【PHP】クラス内のメソッドの設定方法(メンバメソッド)

Pocket

>クラスの使い方について(目次ページ)

前回、クラスを元にインスタンス化した際の実行プログラム、「コンストラクター」の設定を行いました。

しかしこれまで学んだように、オブジェクトとは「変数メソッド(関数)をまとめたもの」でしたね。今のままでは変数の設定しかできていないので、メソッドの設定方法を学びます。ちなみになんですが、クラス内で使用できる共通のメソッドのことを「メンバメソッド」と呼びます。

メンバメソッドの設定

通常の関数作成と同じように「function」を使用してプログラムの処理内容を記述しますが、クラス内のメソッドということで、アクセスの範囲を設定する「アクセス修飾子 + function + メソッド名」という書き方をします。
それでは実際にサンプルを作成します。今回は下記の二つのメソッドを作成してみます。
「public function denote_hp()」はプレイヤーの「HP」プロパティを表示するメソッド、「public function denote_mp()」はプレイヤーの「MP」を表示するメソッドです。それでは実際にクラス内に組み込んでみます。

 

実行結果は下画像の通りです。

class-step4-1

プレイヤー名とHP、MPを表示するメソッドが出来上がりましたね。「$tanaka->denote_hp()」や「$suzuki->denote_mp()」でメソッドが呼び出せていることから分かるように、アロー演算子はオブジェクト内(インスタンス)のプロパティ値だけでなく、メソッドも呼び出すことができます。このようにオブジェクトは連想配列と違い、メソッドというプログラム処理も併せて呼び出すことができるのです。

オブジェクトのメソッドやプロパティ値の呼び出しは「$〇〇〇(オブジェクト) -> メソッド or プロパティ」で呼び出せることを覚えておきましょう。
class-step4-2

 

ここまでがクラスの(class)の基本形

これまでを通して、今回はこのようなサンプルクラスを作成してみました。プロパティ(メンバ変数)の宣言、コンストラクターの設定、そしてクラス内で使用できるメソッド(メンバメソッド)が、一般的なクラスの基本形となります。実際は作成したいオブジェクトによって、変数でなく定数を代入したりするかと思いますが、前提としてこの基本形は覚えておきたいですね。

class-step4-3

まとめ

  • クラス内で使用するメソッドを「メンバメソッド」と呼ぶ。
  • 「アクセス修飾子 + function + メソッド名」でメンバメソッドを作成する。
  • $〇〇〇(オブジェクト) -> メソッド or プロパティ」でオブジェクトからメソッドやプロパティ値を呼び出せる

 

エッグ

シェアする

コメントを残す

メールアドレスが公開されることはありません。

コメントする