オブジェクト指向は、データと処理のクラスと呼ばれるセットを軸としている。クラスにデータと処理を「まとめ」、情報を「隠し」、クラスを雛形として「沢山作る」ことが即ちオブジェクト指向といっても良いかもしれない。
■呼び名
メソッド
クラスのメンバの一種。クラスに属する関数。
プロパティ
クラスのメンバの一種。データを保持する。
■クラスの宣言
以下のようにキーワードclassを用いる。クラス名は大文字/小文字の区別がされない。
class MyClass { //code }
クラスにおける慣例
- クラス名の最初の文字は大文字
- ファイル名はclass名[.class].php
■クラスのインスタンス化
インスタンス化は以下のようにnew演算子を使って行う。
$obj = new MyClass();
静的メソッドなどが存在する場合はインスタンス化しないことも多々ある。
$obj = MyClass::getInstance();
オブジェクトのコピー
PHP4ではオブジェクトを代入すると、クローンが生成されていた。しかし、PHP5でクローンを生成するためには、以下のようにclone演算子を用いなければ、参照が渡されるだけである。但し、個人的にclone演算子を使った事がないのもあり、イマイチ有用だとは思わない。
$obj = new MyClass(); $copy = clone $obj;
■クラスの判別
どのクラスをインスタンス化したものか判別するには、以下のように演算子「instanceof」を用いる。
class Dog { //code } $pochi = new Dog(); if($pochi instanceof Dog){ print('$pochi is instance of Dog.'); }