2015-02-10 3 views
-1

У меня есть этот код:Acces функции конструктора частной уместности PHP

class Person { 
    private $_firstName; 
    private $_lastName; 
    private $_age; 

    public function __construct($firstName, $lastName, $age) 
    { 
    echo 'Welcome '.$this->_firstName. ' '. $this->_lastName. 'that have '.''.$this->_age.'<br />'; 

    } 

} 
$obiect = new Person("dan", "Marian", 30); 

почему дисплеи не Добро пожаловать дан Мэриан, которые имеют 30?

+1

Какой язык это? использовать теги! –

+0

Потому что '$ this -> _ firstName' и другие никогда не были установлены в первую очередь. – SuperSaiyan

ответ

0

Поскольку вы не установили значения членов:

public function __construct($firstName, $lastName, $age) 
{ 
    $this->_firstName = $firstName; 
    $this->_lastName = $lastName; 
    $this->_age = $age; 

    echo … 
} 
+0

Как я могу создать конструктор при создании объекта StenSoft? –

+0

$ obiect -> .... accesing constructor для отображения чего-то .. –

+0

Конструктор автоматически вызывается при создании объекта с помощью 'new' – StenSoft

1

его потому, что вы пытаетесь получить доступ к значению до инициализации, вы должны попробовать это

public function __construct($firstName, $lastName, $age) 
{ 
    $this->_firstName=$firstName; 
    $this->_lastName=$lastName; 
    $this->_age=$age; 

echo 'Welcome '.$this->_firstName. ' '. $this->_lastName. 'that have '.''.$this->_age.'<br />'; 

} 
+0

Спасибо за решение! –

Смежные вопросы