テストスクリプトを下回っていますが、なぜエラーが発生するのかわかりません。しかし、同時に期待どおりに動作します(テキスト「woof」を出力します)。
abstract class Animal {
abstract function bark();
function MakeDog(){
return $this->bark();
}
}
class Dog extends Animal {
function bark(){
echo 'Woof';
}
}
$dog = new Dog();
echo $dog->MakeDog()->bark(); // this outputs 'woof' but with error.
Fatal error: Call to a member function bark() on a non-object in [...] 26
26行目は//echo $dog->MakeDog()->bark();
、エラーが何に関連しているのかわかりません。