2013-12-20 73 views
0

我想從子類訪問父類屬性,我宣佈了一個父類人,一個子類課程並製作了一個對象Ram 。它提供了錯誤 幫助請:如何通過製作子類的對象來簡單地從子類訪問父類的屬性

class Person 
{ 
    public $name="My name is Ram Singh."; 

    } 

class college extends Person 
{ 
    function __construct() 
    { 
    echo"Hello college constructor"; 
    } 

    var $message=$this->name ;  
} 


$Ram = new college; 
echo $Ram->message; 
echo $Ram->name; 
+0

你可以把你有錯誤嗎? –

回答

1

它應該工作。它被測試:)

class Person 
    { 
     public $name="My name is Ram Singh."; 

     } 

    class college extends Person 
    { 
    public $message; 
     function __construct() 
     { 
     echo"Hello college constructor"; 
     $this->message=$this->name ; 
     } 


    } 


    $Ram = new college; 
    echo $Ram->message; 
    echo $Ram->name; 
0

$message變量聲明爲var,你應該把它聲明爲public有從類的外部訪問。

更好的辦法是讓類protected然後代碼存取的成員getName()getMessage()

3

你需要把方法內的任何變量賦值。你不能在課堂上做到這一點。

class Person 
{ 
    public $name="My name is Ram Singh."; 

    } 

class college extends Person 
{ 
    public $message = ''; 
    public function __construct() 
    { 
    echo"Hello college constructor"; 
    $message=$this->name ;  
    } 


} 


$Ram = new college; 
echo $Ram->message; 
echo $Ram->name; 

?> 
+0

+1。你不能有一個表達式作爲一個字段默認值,很好的發現。 – Gavin