这里是我的代码是什么样子PHP和类:获得父母的公共财产父类中
我有两种形式:
class Form_1 extends Form_Abstract {
public $iId = 1;
}
class Form_2 extends Form_1 {
public $iId = 2;
}
我期待的代码这样的表现:
$oForm = new Form_2;
echo $oForm->getId(); // it returns '2'
echo $oForm->getParentId(); // i expect it returns '1'
这里是我的Form_Abstract类:
class Form_Abstract {
public $iId = 0;
public function getId() {
return $this->iId;
}
/**
this method will be called from a child instance
*/
public function getParentId() {
return parent::$iId;
}
}
但它抛出一个致命错误:
Fatal error: Cannot access parent:: when current class scope has no parent
请帮助我的方法getParentId()
PS:我知道发生了什么,我寻求解决方案的原因。
你实际想要在这里实现的目标是什么?换句话说:“Form_1”和“Form_2”之间的实际函数关系是什么。很可能你的设计需要重新思考。例如,您可能需要一个聚合/复合对象或其他设计范例,而不是使用继承。 – 2010-03-13 17:18:35