2016-05-24 85 views
0

你好傢伙我想在這裏一些幫助在父類中調用如何變量

我有這個類:

class product 
     { 
      var $title; 
      var $price; 
      function __construct($title1,$price1) 
      { 

      $this->title=$title1; 
      $this->price=$price1; 
      } 
      function set_title($newtitle){ 
      $this->title=$newtitle; 
      } 
      function get_title() { 
      return $this->title; 
      } 
      function set_price($newprice) 
      { 
      return $this->price=$newprice; 

      } 
      function getProductAtrribute() 
      { 

      $x1=$this->title; 
      $x2=$this->price; 
      $x3=$this->**material**; 
      $x4=$this->**size1**; 
      return $allattribute= array("$x1","$x2","x3","x4"); 
     } 
     } 

和其他班組長:

class furinture extends product 
    { 
     var $size; 
     var $material; 

     function __construct($sizeset,$materialset) 
     { 
     parent::__construct(); 

     $this->size=$sizeset; 
     $this->material=$materialset; 
     } 
    function setsize ($size1,$material1) 
    { 
     $this->size=$size1; 
     $this->material=$material1; 
    } 

我試圖做我設置的大小和材料的類傢俱的價值,但從功能得到所有屬性在類產品我試圖使全局變量,但它不會工作。
注意:$ size和$ material我希望他們定義類似於其定義的傢俱類

+0

http://stackoverflow.com/questions/6456939/php-accessing-parent-class-variable –

+0

這如何訪問父類中我需要訪問子類 –

+0

http://stackoverflow.com/questions/13774612/access-child-class-static-variables-from-parent-class –

回答

-1

使用公共,私有或保護您的屬性而不是var。 那麼你可以從$this->price;等訪問它...

或者你可以做accesor調用它與parent :: yourMethod();

+0

但我想訪問的是子類中的大小和材質,但在代碼中看到的類產品中獲取它,以及在功能getallattribute,我試過公共材料,公共大小,它不工作 –

+0

使用'var'把範圍反正'公開' –

+0

你可以嘗試使用抽象類 –

0

修改你的產品類這樣的,

class product 
    { 
     private $title; 
     private $price; 
     private $size; 
     private $material; 

     public function setup_product($title1,$price1) 
     { 
     $this->title=$title1; 
     $this->price=$price1; 
     } 

     public function set_title($newtitle){ 
     $this->title=$newtitle; 
     } 

     public function set_material($material){ 
     $this->material=$material; 
     } 

     public function set_size($size){ 
     $this->size=$size; 
     } 

     public function get_title() { 
     return $this->title; 
     } 

     public function get_price() { 
     return $this->price; 
     } 

     public function set_price($newprice) 
     { 
     return $this->price=$newprice; 

     } 

     public function getProductAtrribute() 
     { 

     $x1=$this->title; 
     $x2=$this->price; 
     $x3=$this->material; 
     $x4=$this->size; 
     return $allattribute= array("$x1","$x2","x3","x4"); 
    } 
    } 

修改傢俱類;

class furinture extends product 
{ 
    public function __construct($sizeset,$materialset,$title1,$price1) 
    { 
    $this->setup_product($title1,$price1) 
    $this->size=$sizeset; 
    $this->material=$materialset; 
    } 
    public function setsize($size1,$material1) 
    { 
    $this->set_size($size1); 
    $this->set_material($material1); 
    } 

} 
+0

我不想從兒童類的價格,我想從父Cla得到尺寸和材料ss函數getallattribute()。如你所見,我得到x3和x 4一個用於matrieal和其他大小 –

+0

我已經擴展了上面的傢俱類現在返回'allAttributes()函數' – guyver4mk

+0

我同意你的意見但仍然沒有幫助。請閱讀函數getallattribute。 x3和x4。 –