Heim > Fragen und Antworten > Hauptteil
<?php //定义一个Car类并实例化一个对象 class Car{ public $name='car'; public function getName(){ return $this->name; } } $car=new Car(); // $car->name='adfa'; echo $car->getName(); ?>
为什么当实例化对象$car->name属性注释掉,返回的结果是car;如果没有注释掉,返回的结果是adfa,不太理解以及this指针在这里的作用
phpcn_u2332016-12-24 14:47:52
$this是指这个对象本身,注释掉的时候走的流程:实例化对象-->调用方法getName-->getName获得对象的name属性,也就是car;而没有注释时,实例化对象-->给对象的name属性重新赋值为adfa-->调用方法getName-->getName获得对象的name属性(已经重新赋值为adfa),所以输出为adfa。简单的说,注释掉输出的是初始的name属性,没注释输出的是重新赋值后的name属性。希望说清楚了