Home > PHP > PHP クラスの考え方

PHP クラスの考え方

  • 2012-04-27 (Fri) 09:25
  • PHP
GW直前です。さて、何をしようか・・。ひとまず、自分でできることからを心がけている私ですが、いつの間にか映画を見ていることが多い。^^;

今日は、PHPのクラスについて紹介します。
クラスを説明するには、かなり長い内容になるので、少しずつ簡単に説明したほうが良いかと思いますので、まずはクラスというものがどのようなものかを見ていきましょう。

第17回 クラスとは
クラスは、特殊な構造をもつオブジェクトの値オブジェクトの構造を定義するものです。
クラスの中では、メンバ変数(プロパティ)、メンバ関数(メソッド)を持つことができます。
では、まず簡単なコードを見てみましょう。
<?php
 class MyClass{
  var $dog = "犬";
  var $cat = "猫";
  var $bird = "鳥";
  function myfunc(){
   echo "Look Me!";
  }
 }
 $obj = new MyClass();
 echo $obj -> cat;
 echo "<br>";
 $obj -> myfunc();
?>

上のコードはクラスの説明として記述しているものですので、実際に使えるようなコードではありません。クラスとはどのようなものであるかを理解してください。
クラスを定義する書式は次のようになります。
 class クラス名{ 定義 }
ここでは、MyClassというクラス名を付けて、{ }の中に定義したい処理を記述しています。
クラスの定義では、メンバ変数、メンバ関数という定義を行いますが、メンバ変数を定義する場合は、必ず変数の前に「var」を付けて定義します。
上のコードでは、$dog、$cat、$birdがメンバ変数を定義しています。また、メンバ関数はfunctionで定義しています。ここでは、myfunc()という関数を定義しています。

定義したクラスを使うには、new演算子を使って、クラスのインスタンスを生成します。インスタンスというのは、コピーみたいなものです。簡単な説明でいうと、実体そのものを使うのではなく、実体のクローン(コピーもの)を使うほうが何かと便利だからです。
そこで、「$obj = new MyClass();」というコードは、MyClassをコピーして、$obj変数に格納しますので、これ以降は$obj変数でクラスの中身を利用することができるという事になります。

そして、$obj -> cat;$obj -> myfunc();の部分は、オブジェクトが持つメンバ変数とメンバ関数を使用しています。
メンバ変数やメンバ関数を使用するには、「->」(アロー演算子)を使ってアクセスします。
結果をレンダリングすると以下のように表示されます。
20120427-p03.jpg

PHPでは、クラスを使っていろいろな実装を行い、それをあらゆる場面で、その中の機能を使いまわしするようなイメージとなります。
例えば、車を考えてみてください。ある高級車には、さまざまな部品が装備されています。タイヤ、ハンドル、エンジン、ミラー、バンパー、ヘッドライト、塗料・・などなど、数えきれないほどのパーツがあります。
そこで、新しい車を作りたい時、高級車のハンドルが好評だったので、ハンドルはその高級車と同じものを使おうという考え方です。全部使ってしまうと、高級車と同じものになってしまいますね。価格を抑えて、少しは高級感を出したい時などに利用されるパターンになると思います。
クラスも同じような使い方になります。
メンバ変数はクラスのプロパティにあたり、パーツになります。メンバ関数はクラスのメソッドにあたり、命令系統(ソフト)になります。

ここでは、クラスの概念が理解できるだけで良いと思います。
Comment Form
★下記に2つの英単語をスペースで区切って入力してください

Home > PHP > PHP クラスの考え方

Search
Feeds

Page Top