假设我有两个嵌套在父类中的对象:
class A {
public function create() {
//... create something
}
}
class B {
public function getFooter() {
// I need to access object A function create() here?
}
}
class C {
protected $oA;
protected $oB;
function __construct() {
$this->oA = new A();
$this->oB = new B();
}
}
$oC = new C();
$oC->oB->getFooter();
B级是否可以通过C级到达A级?
我忘了提到我动态调用了B类的函数,如下所示:{函数名称}(),因此无法控制函数中可用作参数的属性。
上下文
我需要将多个对象存储到容器类中,并且我有一个包含许多模板函数的类。出于性能原因,我只想创建此模板类的一个实例,并将其放入容器类而不是多个子类中。
答案 0 :(得分:0)
是的,B类需要一个指向C类实例的指针(您可以在创建B时将其传递给构造函数)。然后,类C需要一个公开访问类A实例的方法。
在B:
$A = $this->C->getA();
$A->runsomemethod();
在C:
public function getA()
{
return $this->A;
}