例如,我有这样的类:
class MyClassA{
protected $variableA='this is var A';
public $variableB='this is var B';
//some function here
}
class MyClassB extends MyClassA{
//some function here
}
class MyClassC extends MyClassB{
//some function here
}
class MyClassD extends MyClassC{
//some function here
}
如何从MyClassD
获取$variableA
和$variableB
?
只需在任何使用$this
的类中引用它们。
class MyClassD extends MyClassC {
function __construct()
{
echo $this->variableA;
echo $this->variableB;
}
}
$var = new MyClassD;
看到它工作!
由于variableA
在基类中是公共的,您可以直接访问它,如下所示:$MyClassDObj->variableB
。
由于variableA
是受保护的,如果您想从类外部访问它,就需要编写一个getter,否则从类D内部访问它,您可以像访问variableB一样访问它。吸气剂看起来是这样的:
public function getVariableA()
{
return $this->variableA;
}
然后你打电话给$MyClassDObj->getVariableA()
;
就像你从MyClassA得到的一样。