このような抽象クラスがある場合:
abstract class MyApp
{
public function init()
{
$this->stuff = $this->getStuff();
}
public function getStuff()
{
return new BlueStuff();
}
}
そして、私はこの抽象クラスから次のように拡張するクラスを持っています:
class MyExtendedClass extends MyApp
{
public function init()
{
parent::init();
}
public function getStuff()
{
return new RedStuff();
}
}
私が行った場合:
$myobj = new MyExtendedClass();
$myobj->init();
子クラスのgetStuffメソッドが呼び出されるのはなぜですか?$ thisは抽象クラスのコンテキストではありませんか?もしそうなら、抽象クラスのメソッドを呼び出すべきではありませんか?
ありがとう!