为了账号安全,请及时绑定邮箱和手机立即绑定

菜鸟 问个 问题啊

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'了呢? 求详细解答 

正在回答

1 回答

首先呢 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;  //输出 汽车

 ?>


我说明白了吗?

1 回复 有任何疑惑可以回复我~
#1

慕姐4424294 提问者

非常感谢!谢谢啊 我的确做实验了 是这样的
2015-12-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP进阶篇
  • 参与学习       181823    人
  • 解答问题       2577    个

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

进入课程

菜鸟 问个 问题啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信