【PHPの基礎】クラスとオブジェクト
PHP「クラス」の基礎知識について学習します。
オブジェクト指向
クラスを理解する上で欠かせない「オブジェクト指向」というものがあります。
「オブジェクト指向」とは、クラスを作成し、それを用いてオブジェクト(モノ)を作成するプログラミング法です。
型を作ることにより、いつでもその型から、同じものや似たものを複製することが出来ます。
クラス
クラスは、オブジェクトを作るためのテンプレート(型)となるものです。
クラスは、プロパティとメソッドというものを持ちます。
プロパティ
クラスが持つ変数を「プロパティ」と呼びます。
車で例えてみます。
何台かの車があります。
それぞれの車は、「車種」や「値段」などのデータ(値)を持っています。
これが「プロパティ」です。
メソッド
クラスが持つ関数を「メソッド」と呼びます。
車で例えてみます。
それぞれの車は、「進む」「止まる」などの機能をします。
これが「メソッド」です。
クラスの書き方
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php // クラス class クラス名 { //プロパティを定義 public $変数名; public $変数名; //メソッドを定義 public function 関数名(){ 処理内容 } } ?> |
アクセス修飾子
プロパティ(変数)を宣言する時は、プロパティの前に「public / private / protected」のいずれかを定義する必要があります。これをアクセス修飾子と呼びます。
それぞれの特徴は以下の通りです。
・pubic :クラス内、クラス外のどこから呼んでも使用することができる
・private :そのクラス内でしか使用することができない
・protected:そのクラス内 or 継承しているクラス(サブクラス)で使用することができる
サンプルコード
1 2 3 4 5 6 7 8 9 |
<?php class Car { public $name; //車種 public $price; //値段 public function start(){} //進む public function stop(){} //止まる } ?> |
インスタンス
テンプレート(型)であるクラスを元に実体化させることを「インスタンス」と呼びます。
クラスは、インスタンスになって初めて使えるようになります。
車の設計図を元に車を作るイメージです。
インスタンスの書き方
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php // クラス class クラス名 { public $変数名; public $変数名; public function 関数名(){ 実行内容 } } // インスタンス $インスタンス名 = new クラス名(); $インスタンス名->変数名 = 値; $インスタンス名->関数名(); ?> |
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?php class Car { public $name; public $price; public function much(){ echo $this->name . 'は' . $this->price . '円です'; } public function start(){ echo '発進します'; } public function stop(){ echo '停止します'; } } $car1 = new Car(); $car1->name = 'prius'; $car1->price = '3,200,000円(税込)~'; $car1 -> start(); $car1 -> much(); ?> |
実行結果
発進します
停止します