PHP中的嵌套继承



例如,我有这样的类:

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得到的一样。

最新更新