菜鳥 問個(gè) 問題啊
class Car0 {
? ? var $name = '汽車';
? ? function getName() {
? ? ? ? return $this->name;
? ? }
}
//實(shí)例化一個(gè)car對象
$car = new Car0();
$car->name = '奧迪A6'; //設(shè)置對象的屬性值
echo $car->getName(); ?//調(diào)用對象的方法 輸出對象的名字
?這是 課堂上的代碼 如果 我不寫 $car->name='奧迪A6'的話 ?會輸出 汽車 這個(gè)屬性名字?
我想問的是 $car->name='奧迪A6' ?是不是 把class Car 里面的$name='汽車'給修改了?奧迪A6 是不是把$name='汽車' 給覆蓋了 變成 $name='奧迪A6'了呢? 求詳細(xì)解答?
2015-12-04
首先呢 class里的var可以去掉,
$car = new Car0() ?是實(shí)例化了一個(gè)Car類的對象。
$car->name='奧迪A6' ? 會覆蓋 原有的$car->name ?值為 '汽車' 的值。
和類Car0 沒有關(guān)系 ? 你可以再實(shí)例化以個(gè)$car2 = new Car0() ? ? echo ?$car2->name 試一下不就知道了嗎
<?php?
? ? header("Content-type: text/html; charset=utf-8");?
class Car0 {
? ? public $name = '汽車';
? ? public function getName() {
? ? ? ? return $this->name;
? ? }
}
$car1 = new Car0();
$car1->name = 'A8';
echo $car1->name; ? //輸出 A8
$car2 = new Car0();
echo $car2->name; ?//輸出 汽車
??>
我說明白了嗎?