PHP

クラスを使う - PHP入門

PHP はオブジェクト指向言語です。
オブジェクト指向と聞くと敬遠しがちな方も多いと思いますが、使い慣れると楽にプログラムできます。

ここでは、PHP でクラスを使う方法についてまとめます。

 

クラスの定義

PHP におけるクラスの宣言は、以下の構文で行うことができます。
関数や変数の使い方は通常と同様ですが、クラス変数の頭には var をつけて宣言します。
この変数は、クラス内・呼び出し側のどちらからも参照することができます。

参考

変数については「変数の使い方」に、関数については「ユーザ定義関数」にまとています。

 クラスを定義する構文
class クラス名 {
    var $クラス内変数名;
    function クラス内関数([引数1][, 引数2][, 引数3...]) {
        (メンバー関数の処理)
    }
}

 

インスタンスの生成

クラスの定義が終わったら、インスタンスを作成して利用します。

 インスタンスを作成する構文
インスタンスオブジェクト変数名 = new クラス名;

 

それでは「車」というクラスを例に詳しく見てみましょう。

まず、var  で車のガソリン残量を示すクラス内変数 gas を宣言しています。
次に、Car クラスのコンストラクタを宣言し、ガソリンの残量を返す remaining 関数を定義しています。

コンストラクタとは?

コンストラクタとは、インスタンスを生成するときに自動的に呼び出される特殊な関数のことです。
クラス名と同じ名前の関数は自動的にコンストラクタとなり、「new」された時点で実行されます。

通常、クラス変数などの初期化を行うようにプログラムを記述します。

 

上記のクラスのインスタンスを生成するには、以下のように記述します。

 車クラスのインスタンスを生成
$my_car = new Car(50);
echo $my_car->remaining();
 出力結果
残り50リットル

クラス内関数の呼出し

クラス内関数を呼出すには「インスタンス名->関数名();」で呼び出すことができます。

 

クラスの継承

継承とは

PHP でクラスを定義する例として、ガソリン残量を示すことができる車を例に紹介しました。
しかし、車にも軽自動車やワゴンなどの種類があり、ガソリン以外にも備えている機能があります。

車クラスを元に、その変数や関数を引き継いで新しいクラスを作る方法を「継承」と言います。
継承元のクラス、継承先の新しいクラスの名称は、以下のように呼ばれています。

  • 継承元のクラス
    スーパークラス、基底クラス、親クラス
  • 継承先(新しい)クラス
    サブクラス、派生クラス

 

クラス継承の構文

クラスの継承は、以下の構文で記述することができます。

 クラス継承の構文
class サブクラス extends 継承元クラス {
    (処理)
}

 

派生クラスのサンプル

それでは、Car クラスを継承して、スポーツカーという派生クラスを作ってみます。

スポーツカーのコンストラクタとなる SuportsCar 関数が追加され、
Car クラスで定義していた remaining 関数が上書き(オーバーライド)されます。

クラス内変数や、その他の関数は Car クラスのものをそのまま使用できます。
必要な部分だけオーバーライドして、派生クラスに合う動きに上書きして利用します。

 

こちらの記事もよく読まれています

  • この記事を書いた人
  • 最新記事
SANACHAN

SANACHAN

「生涯一エンジニア」を掲げ、大手グローバル企業でSE/PGとして8年勤め、キャリアアップ転職した現役のエンジニアです。世にあるメジャーな全プログラム言語(コボル除く)を自由に扱えます。一児の父。自分のため、家族のため、日々勉強してます。システムエンジニア、プログラミングに関する情報を蓄積している雑記帳です。

-PHP
-,