2013-10-25 82 views
0

在PHP我有這段代碼。我試圖獲得一個繼承的方法來利用其子類的成員變量。抽象成員函數無法訪問屬性繼承類

abstract class HtmlObj{ 
//abstract protected function jQuery_Activity(); 
public $hyperlink; 
abstract protected function php_Activity(); 
abstract protected function print_Widget(); 

function __construct($hyperlink=""){ 
    if(isset($hyperlink)){ 
     $this->hyperlink = $hyperlink; 
    } 
    $this->php_Activity(); 
    $this->Print_Widget(); 
} 

}

class child extends HtmlObj{ 
    public $id; 
    protected function php_Activity(){return;} 
    protected function print_Widget(){ 
     print $this->id; 
    } 
    function __construct($id){ 
    this->id = $id; 
    } 
} 

遺憾的是這款打印什麼。任何見解爲什麼?

回答

1

在子類中你需要做類似

abstract class HtmlObj 
{ 
//abstract protected function jQuery_Activity(); 
    public $hyperlink; 

    abstract protected function php_Activity(); 

    abstract protected function print_Widget(); 

    function __construct($hyperlink = "") 
    { 
     if (isset($hyperlink)) { 
      $this->hyperlink = $hyperlink; 
     } 
     $this->php_Activity(); 
     $this->Print_Widget(); 
    } 
} 

class child extends HtmlObj 
{ 
    public $id; 

    protected function php_Activity() 
    { 
     return; 
    } 

    protected function print_Widget() 
    { 
     print $this->id; 
    } 

    function __construct($id) 
    { 
     $this->id = $id; 
     parent::__construct(); 
    } 
} 

new child(10); 
+0

我粘貼整個代碼reffer父:: __結構() - 爲我工作。 –

+0

謝謝!不知道爲什麼它第一次沒有工作,但它第二次工作... –

相關問題