发布网友 发布时间:2022-04-06 07:52
共3个回答
懂视网 时间:2022-04-06 12:14
作用:
this是在实例化的时候用来确定指向谁。所以说,this就是指向当前对象实例的指针,不指向任何其他对象或类。
具体分析:
$this 的含义是表示实例化后的具体对象!$this->表示在类本身内部使用本类的属性或者方法。‘->’符号是“插入式解引用操作符”(infix dereference operator)。
举例:
比如我们声明一个User类!它只含有一个属性 $name;
<?php class User { public $_name; } ?>
现在,我们给User类加个方法。就用getName()方法,输出$name属性的值吧!
<?php class User { public $name; function getName() { echo $this->name; } } $user1 = new User(); $user1->name = '张三'; $user1->getName(); //这里就会输出张三! $user2 = new User(); $user2->name = '李四'; $user2->getName(); //这里会输出李四! ?>
上面创建了两个User对象。分别是 $user1 和 $user2 。
当调用 $user1->getName()的时候。上面User类中的代码 echo $this->name ; 就是相当于是 echo $user1->name;
如果您想了解更多相关教程,请访问gxlcms。
热心网友 时间:2022-04-06 09:22
注意php是弱类语言。。
他不需要事先定义变量的类型也不须事先声明才可以用。
所以$this->b=12 相当于你var $b=12。然后直接调用像你写的echo $this->b;
你的例子里面var $a=13; 就定义了a的值是13。在类里面你用
$this->a就表明你调用$a这个值;
其实$this就是在本类中直接调用属性。千万不能在后面加$符号;
不知道我的理解对你是否有帮助。。我学PHP也不久。。
搞java其实不错; java的面向对象这块很完善。而php则是在php5后才更进一步,并没有java的强
热心网友 时间:2022-04-06 10:40
同意楼上,就面向对象来讲确实是Java强大
————————————————
能够输出 $this->b;
是因为
$object->printThis();
中对他进行了赋值
如果你不$object->printThis();
而直接$object->printThis2();
那么他就是空值
————————————————————————
this 就是指向当前对象实例,不指向任何其它对象或类
self 指向类本身,不指向任何实例化的对象
parent是指向父类的指针,一般用来调用父类构造函数
你可以搜一下他们的区别 网上很多 结合例子就比较好理解