>> PHP入門トップに戻る

クラス

今回はクラスについて説明します。

クラスというのは、変数や関数などをまとめて扱うことが出来る一つの塊のようなものです。
まずは下記のコードを見てください。

	class OBJECT{
		public $figure;
		public $value;
		public function func(){
			
			echo "テスト";

		}
	}

これはOBJECTクラスというものを定義しています。
変数として、$figure,$valueを持ち、
関数としてfunc関数を持っています。
クラスの書き方としては、

class クラス名{
アクセス修飾子 変数名;
アクセス修飾子 function 関数名(引数){
~処理~
}
}

という形式で記述します。
まずアクセス修飾子から説明します。
アクセス修飾子とはその変数・関数がどこからアクセス可能かを定める為のもので、
以下の三つの種類があります。

private クラス内からのみアクセス可能
protected クラス内、派生クラスからアクセス可能
public クラス外からもアクセス可能

まず、privateについてですが、
こちらはクラス内からのみアクセス可能です。つまり外からはまったくアクセスできないということです。
次にprotectedですが、これはクラス内と、派生クラスからのみアクセス可能です。
派生クラスとは、このOBJECTクラスを継承したクラスのことです。
継承というのは継承元のクラスの機能を引き継いで新しいクラスを定義することです。
最後にpublicですが、これはどこからでもアクセス可能であることを意味します。

クラスを作るときには基本的にこれらのアクセス修飾子のどれかを指定します。
何も指定しない場合は、public扱いになります。

最後にクラスの使い方ですが、new演算子を用いて、インスタンスを生成します。

<?php
	class OBJECT{
		public $figure;
		public $value;
		public function func(){
			
			echo "テスト";

		}
	}
	
	$test = new OBJECT();
	
	$test->func();
?>

上記のコードのように、

$変数 = new クラス名();

として、インスタンスを生成します。
関数内にあるクラスや変数にアクセスする場合は、
アロー演算子(->)を使います。

$変数->関数名(or 変数名);


また、クラス内でクラス内の変数にアクセスするときにはthisとアロー演算子を使います。

<?php
	class OBJECT{
		public $figure;
		public $value;
		public function func(){
			//thisとアロー演算子で変数にアクセス
			$this->figure=1;
			echo "テスト";

		}
	}
	
	$test = new OBJECT();
	
	$test->func();
?>

変数$figureにthisとアロー演算子を使ってアクセスしてます
thisというのは自分自身を指すインスタンスだと思ってください。
C++的に言うと自分自身を示すポインタで、thisポインタと同じようなものです。

クラスの作り方と使い方の説明は以上です。
次はクラスのコンストラクタ、デストラクタについて説明します。


>> 【コンストラクタ、デストラクタ】に進む
>> PHP入門トップに戻る