|
PHP4からオブジェクト指向的な機能・動作が改善されていますが、オブジェクト指向言語であるJavaとどの程度挙動が異なるか、ちょっとずつまとめてみようかと思います。基本的には、PHPマニュアルに記載されていなくて、「どうなるの?」と思ったことを主にやっています。
今回は、「クラスの親子関係(super編)」についてです。
オーバーライドしたメソッドの親メソッドを呼び出す場合、Javaでは「super」ですが、PHPでは「parent」を使用します。記述方法は、「parent::[method名]」となります。
以下は、PHPマニュアルにもあるようなサンプルです。
●OverloadTest.php
<?php
class ClassA
{
function doSomething()
{
echo "ClassAのdoSomething<br>";
}
}
class ClassB extends ClassA
{
function doSomething()
{
parent::doSomething();
echo "ClassBのdoSomething<br>";
}
}
$obj = new ClassB();
$obj->doSomething();
?>
●出力結果
ClassAのdoSomething
ClassBのdoSomething
|