在成员方法中,调用成员方法的方法是对象名加方法名,格式就是“对象名->方法名”。但是在定义类的时候,我们往往不知道对象名是什么,所以就没法用对象名,这时,我们就要用到伪变量$this。
什么是$this?
$this的意思就是本身,在$this中有个指针,谁调用它,他就指向谁,它只能再类内部使用。
$this用法实例:
我们来举个例子,让大家可以更加清楚的看到这个$this的含义指向。
<?php header("content-type:text/html;charset=utf-8"); class Preson{ //定义类 public $name; public $age; public function __construct($Name,$Age) //构造函数 { $this -> name = $Name; $this -> age = $Age; echo '<pre class="brush:php;toolbar:false">'; var_dump($this); //打印出$this } public function showInfo(){ //成员方法 echo "个人信息:"; echo '<br/>' . "名字是:" . $this -> name . '<br/>' . "年龄是:" . $this -> age; } } $preson = new Preson("小草",25); //实例化 var_dump($preson); //打印出$this $preson -> showInfo(); echo '<hr>'; $preson = new Preson("大树",30); //实例化 var_dump($preson); //打印出$preson $preson -> showInfo();
从上图我们可以看到结果对比。打印出来的$this和$preson结果是一样的,也就是说,$preson调用了$this,$this指向的就是它,所以说结果是一样的。因此$this究竟指向哪是由所实例化的对象决定的,指向当前对象实例的指针。包括变量、方法都是如此。也就是印证了我们上面的话谁调用它,他就指向谁。
Atas ialah kandungan terperinci php面向对象之$this->用法简述. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!