簡體   English   中英

無法從子類訪問父變量

[英]Unable to access a parent variables from child class

我想重用子類中父類的一些值,但是子類似乎無法讀取在父方法中使用上下文$this的值。

class Mother{

   public function __construct($field,$val){

       $this->field = $field;

       $this->val = $val;

   }

   public function set(){

        return array('val'=>$this->val,
                    'field'=>$this->field,
                    'test'=>"test");
   }

}

class Sister extends Mother{

   public function getVal(){

     $val = parent::set();

     print_r($val);

   }
}

輸出將是

  Array ( [val] => [field] => [test] => test)

我試圖將set()方法set()靜態,但這與問題無關。 誰能告訴我如何將值存儲在父類中並將其傳遞給子類?

您的示例不會打印任何內容,因為您不會調用該類。

嘗試這個

class Mother{

   public function __construct($field,$val){

       $this->field = $field;

       $this->val = $val;

   }

   public function set(){

        return array('val'=>$this->val,
                    'field'=>$this->field,
                    'test'=>"test");
   }

}

class Sister extends Mother{

   public function getVal(){

     $val = parent::set();

     return $val;

   }
}

$class = new Sister('test1', 'test2');

print_r($class->getVal());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM