PHP中$this和$that指针使用实例
PHP5中定义了一个特殊的方法名“__clone()”方法,是在对象克隆时自动调用的方法,用“__clone()”方法将建立一个与原对象拥有相同属性和方法的对象,如果想在克隆后改变原对象的内容,需要在__clone()中重写原本的属性和方法,“__clone()”方法可以没有参数,它自动包含$this和$that两个指针,$this指向复本,而$that指向原本,具体实例如下:
<?php
classPerson{
//下面是人的成员属性
var$name;//人的名字
var$sex;//人的性别
var$age;//人的年龄
//定义一个构造方法参数为属性姓名$name、性别$sex和年龄$age进行赋值
//function__construct($name="",$sex="",$age="")
function__construct($name,$sex,$age){
$this->name=$name;
$this->sex=$sex;
$this->age=$age;
}
//这个人可以说话的方法,说出自己的属性
functionsay(){
echo"我的名字叫:".$this->name."性别:".$this->sex."我的年龄是:".$this
->age."<br>";
}
//对象克隆时自动调用的方法,如果想在克隆后改变原对象的内容,需要在__clone()中重写原来的属性和方法。
function__clone(){
//$this指的复本p2,而$that是指向原本p1,这样就在本方法里,改变了复本的属性。
$this->name="我是复制的张三$that->name";
//$this->age=30;
}
}
$p1=newPerson("张三","男",20);
$p2=clone$p1;
$p1->say();
$p2->say();
?>
成功运行此PHP程序后的结果如下:
我的名字叫:张三性别:男我的年龄是:20 我的名字叫:我是复制的张三性别:男我的年龄是:20
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下