みつきちPHP
Amebaでブログを始めよう!

クラスからオブジェクトを作る

前回、クラスとは設計図と書きましたが、車の設計図が人を乗せて走ってくれるわけではなく、実際に動かすには設計図を元に実際に物体を作る必要があります。

クラスを元に実際に作った物を「オブジェクト」と呼びます。
クラスから物体を作成するには”new”を使います。


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


上記で記述した変数名というのが、作成したオブジェクトを認識するための名前になります。

前のページで車に関する設計図について書きましたが、例えば下記のようなクラスを記述したとします。


 class Car{


 }


現時点ではクラスとして”car”というクラス名を持ったクラスを設計しました。

ではこの設計図を元に実際に物体を作成してみます。


 $car = new Car();


また変数がいつくでも作成できたように、同じクラスを元にいくつでもオブジェクトを作成することが出来ます。


これは1つの設計図から複数の物体を作れるのと同じことです。


元になっている設計図(クラス)は同じであっても、そこから作成された物体(オブジェクト)は全く別物ですので、それぞれ別々に動かすことができます。


 $car1 = new Car();
 $car2 = new Car();


”$car1”も”$car2”も同じ”carクラス”から作成された物体です。


元の設計は同じですけど、物体は別々ですので、それぞれに独自の動作を行わせることができます。


このようにクラスから作成した物体に対して、色々と指示を出していく形でプログラミングを行っていきます。


クラスの記述方法

クラスというのは設計図ですので、クラスの中には何をさせたいのかを記述していきます。

設計図 車{

    車を動かす{
        ....
    }

    車を止める{
        ....
    }

    ライトを付ける{
        ....
    }

}


上記の場合は、車という設計図を作成しています。

設計図の中には、実際何をしたいのかをメソッドの形で定義していきます。


実際にPHPとして記述するには、下記のようになります。


class クラス名{
    ....
}


「class」の後に、そのクラスをあらわすクラス名を記述します。

そしてそのクラスに何をさせたいのかを、

”{” と ”}” の間に記述することになります。

クラスについて

クラスというのは何かといいますと、

何かを実行する物体の設計図

のようなものです。


何かを実行するというのは、例えば


車は、人を乗せて走る、
テレビは、放送を受信して画像と音を出す


ということを実行します。


クラスというのは、それらの設計図というわけです。



クラスを使う場合と使わない場合のプログラミングの違いは何かというと、
クラスを使わない場合には、

プログラムによって行いたいことを全て自分一人で一つ一実行するようなものです。


それに対してクラスを使った場合には、

目的にあわせてそれを実行してくれるような物体の設計図を作成し、その設計図から実際に物体を作り出し、その物体に処理を行ってもらうような感じとなります。

どちらの方法でプログラムを記述しても目的を達成することに違いはないですが、クラスを使って物体の設計図を作成しておけば使い回しもできますし、後で見たり他人が見た時に何のためのプログラムなのかを明確になる場合が多いのがクラスを使うメリットです。


参考サイト:phpbook