PHPマニュアルの例を解析。
class A ←クラスAを定義
{
function foo() ←メソッドっていうか関数(?)fooを定義
{
if (isset($this)) { ←$thisってのはこの関数が入れられる変数。
echo '$this is defined (';
echo get_class($this);
echo ")\n"; ←$thisはこれに定義されてますよって表示
} else {
echo "\$this is not defined.\n";
}
}
}
class B
{
function bar() ←メソッドbarを定義。
{
A::foo(); ←スコープ演算子(クラス名::メソッド名)でそのクラスのメソッドが使える。
}
}
$a = new A(); ←変数($a)に「new クラス名」と代入することでクラスを利用する。
$a->foo(); ←$aに入っているクラスAのメソッドfoo()を使う。
A::foo(); ←単にクラスAのfooを使う。
$b = new B(); ←変数($b)に「new クラス名」と代入してクラスを利用。
$b->bar(); ←$bに入っているクラスBのメソッドbar()を使う。動作はクラスAのfooを利用。
B::bar(); ←単にクラスBのbarを使う。
?>
あとここで使ってない大事なオブジェクト指向の基礎はメンバ変数
class SimpleClass
{
// メンバ宣言
public $var = 'a default value'; ←(publicで宣言された変数はどこからでも利用可能)
// メソッド宣言
public function displayVar() {
echo $this->var; ←このように使える。
}
}
?>
ここで宣言したメンバ変数はクラス内のどこからでも $this-> という形($this->var)で取り出したり、値を変えたりすることができるようになる。
$this->とはこの(this)クラス内で定義したという意味なので、この場合$this->varはこのクラスで定義したvarというわけ。
これがわかればなんとなく書けそう。
次は実践。
参考 PHPマニュアル PHP4,PHP5

0 件のコメント:
コメントを投稿