我尝试在Child类中调用getTest()函数。首先我初始化Ext类的实例,所以我假设主属性$ext现在应该包含它。但是子类没有继承它,得到的错误信息是:
在非对象上调用成员函数 getTest()
问题出在哪里?
<?php
$A = new Main;
class Main
{
protected $ext = null;
function __construct()
{
$this->ext= new Ext();
new Child;
}
}
class Child extends Main
{
function __construct()
{
echo $this->ext->getTest();
}
}
class Ext extends Main
{
public function getTest()
{
return "cool";
}
}
?>
我知道要以其他方式解决它,我可以使用:
class Child
{
private $Main;
function __construct( &$Main ) { ... }
}
但我想了解为什么这不起作用..