慕姐4424294
2015-12-04 10:07
class Car0 {
var $name = '汽车';
function getName() {
return $this->name;
}
}
//实例化一个car对象
$car = new Car0();
$car->name = '奥迪A6'; //设置对象的属性值
echo $car->getName(); //调用对象的方法 输出对象的名字
这是 课堂上的代码 如果 我不写 $car->name='奥迪A6'的话 会输出 汽车 这个属性名字
我想问的是 $car->name='奥迪A6' 是不是 把class Car 里面的$name='汽车'给修改了?奥迪A6 是不是把$name='汽车' 给覆盖了 变成 $name='奥迪A6'了呢? 求详细解答
首先呢 class里的var可以去掉,
$car = new Car0() 是实例化了一个Car类的对象。
$car->name='奥迪A6' 会覆盖 原有的$car->name 值为 '汽车' 的值。
和类Car0 没有关系 你可以再实例化以个$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; //输出 汽车
?>
我说明白了吗?
PHP进阶篇
181837 学习 · 2577 问题
相似问题