[クラスあれこれ(1):: 構文]

---------------------------実行結果-----------------------
◆(クラスMY_CLASS_Aから)オリジナルの関数 MY_CLASS_A::my_func().
○以上…(クラスMY_CLASS_Aをオブジェクト無しで呼出す)

◆(クラスMY_CLASS_Bから)再定義された関数 MY_CLASS_B::my_func().
◆(クラスMY_CLASS_Aから)オリジナルの関数 MY_CLASS_A::my_func().
○以上…(クラスMY_CLASS_Bのオブジェクトを通して呼出す)
---------------------------スクリプト---------------------
class MY_CLASS_A{
function my_func(){
echo "◆(クラスMY_CLASS_Aから)オリジナルの関数 MY_CLASS_A::my_func()\n";
}
}
class MY_CLASS_B extends MY_CLASS_A{
function my_func(){
echo "◆(クラスMY_CLASS_Bから)再定義された関数 MY_CLASS_B::my_func()\n";
MY_CLASS_A::my_func();
}
}
// この例は「オリジナルの関数 MY_CLASS_A::my_func()」を出力
MY_CLASS_A::my_func(); // クラスMY_CLASS_Aのオブジェクトはない

echo '○以上…(クラスMY_CLASS_Aをオブジェクト無しで呼出す)';

$obje = new MY_CLASS_B; // クラスMY_CLASS_Bのオブジェクトを作成
// 再定義された関数 MY_CLASS_B::my_func().
// オリジナルの関数 MY_CLASS_A::my_func()…(クラスMY_CLASS_Bを通して)
$obje->my_func();

echo '○以上…(クラスMY_CLASS_Bのオブジェクトを通して呼出す)';
----------------------------------------------------------