クラス_PHP
PHPのクラス
C++言語/Java言語のようなオブジェクト指向のプログラムを行う場合、クラスでの機能のカプセルは必要不可欠です。PHPでもクラスを定義・使用することができます。public/privateなどはなく、クラス内の変数・関数はすべてpublic扱いになります。FlashのActionScriptに近いですね。
class CShopping { var $item = '鉛筆'; var $price = 55; function getAllPrice($cou) { $pr = $this->price * $cou; $tax = $pr * 0.05; //消費税 5% return($tax + $pr); } }
注意点は、クラス内の変数はvarをつけて定義します(明示的に変数であることを示します)。また、クラス内関数では「$this->price」のように$thisをつけて参照するようにします。
クラスを使用するときは、以下のように使用します。
$shop = new CShopping(); print($shop->item.'('.$shop->price.'円)を5つ購入したときの合計金額は'.$shop->getAllPrice(5).'円です。<br>');
これを実行すると、
鉛筆(55円)を5つ購入したときの合計金額は288.75円です。
と出力されます。
クラスの初期化(コンストラクタ)
クラス名と同じ名称のfunction定義を行うと、クラス生成時(newの段階)にこの部分が呼ばれます。C++/Javaと同じですね。
class CShopping { var $item = '鉛筆'; var $price = 55; function CShopping($item, $price) { $this->item = $item; $this->price = $price; } function getAllPrice($cou) { $pr = $this->price * $cou; $tax = $pr * 0.05; return($tax + $pr); } }
$shop = new CShopping('消しゴム', 98); print($shop->item.'('.$shop->price.'円)を5つ購入したときの合計金額は'.$shop->getAllPrice(5).'円です。<br>');
これを実行すると、以下のように出力されます。
消しゴム(98円)を5つ購入したときの合計金額は514.5円です。
このほか、クラスの継承も実現可能です。そこはまだ掘ってないのでまた今度。
Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.