為什么我注釋掉了這兩行代碼這個結果都還沒有變?
<?php
class nbaPlayer{
? ?// public $name;
//public $team;
function __construct($name,$team){
$this->name = $name;
$this->team = $team;
}
public function name(){
echo "球員名:".$this->name."\n";
}
public function team(){
echo "球隊名:".$this->team."\n";
}
}
$James = new nbaPlayer('James','Cavaliers');
$James->name();
$James->team();
?>
為什么我把最上面的兩個屬性注銷掉與沒注銷的結果一致,哪位大神能解釋一下這每行代碼的意思,感激不盡。
2016-07-14
$James = new nbaPlayer('James','Cavaliers');
初始化一個nbaPlayer類的實例James,并且調用構造函數給James的屬性name、team賦值
$James->name();
調用name()函數
$James->team();
調用team()函數
關于注釋的兩行,我覺得應該是構造函數的時候自動添加了屬性。但是我覺得應該把這兩句加上,應為屬性是有類型的。
另外構造函數最好給屬性賦值,這樣參數可以變成可選。
為了依然可以不帶參數地使用類,所有構造函數的參數應該提供默認值
建議看下官方文檔:
http://php.net/manual/zh/oop4.constructor.php