博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP中的$this和$that指针使用案例
阅读量:6367 次
发布时间:2019-06-23

本文共 777 字,大约阅读时间需要 2 分钟。

PHP5中定义了一个特殊的方法名“__clone()”方法,是在对象克隆时自动调用的方法,用“__clone()”方法将建立一个与原对象拥有相同属性和方法的对象,如果想在克隆后改变原对象的内容,需要在__clone()中重写原本的属性和方法,“__clone()”方法可以没有参数,它自动包含$this和$that两个指针,$this指向复本,而$that指向原本,具体实例如下:

name = $name;        $this->sex = $sex;        $this->age = $age;    }    // 这个人可以说话的方法, 说出自己的属性    function say() {        echo "我的名字叫:" . $this->name . " 性别:" . $this->sex . " 我的年龄是:" . $this        ->age . "
";    }    // 对象克隆时自动调用的方法, 如果想在克隆后改变原对象的内容,需要在__clone()中重写原来的属性和方法。    function __clone() {        // $this 指的复本p2, 而$that 是指向原本p1,这样就在本方法里,改变了复本的属性。        $this->name = "我是复制的张三$that->name";        // $this->age = 30;    }}$p1 = new Person ( "张三", "男", 20 );$p2 = clone $p1;$p1->say ();$p2->say ();?>

成功运行此PHP程序后的结果如下:

我的名字叫:张三 性别:男 我的年龄是:20我的名字叫:我是复制的张三 性别:男 我的年龄是:20

转载地址:http://cuema.baihongyu.com/

你可能感兴趣的文章
[LeetCode] Water and Jug Problem 水罐问题
查看>>
java数组遍历——iterator和for方法
查看>>
Linux程序存储结构与进程结构堆和栈的区别【转】
查看>>
重置 radio 和 checkbox 的样式
查看>>
Android实战简易教程-第二十三枪(基于Baas的用户注冊和登录模块实现!)
查看>>
oc59--匿名分类
查看>>
redis 持久化
查看>>
机器学习算法总结
查看>>
高效的找出两个List中的不同元素
查看>>
Revit二次钢筋
查看>>
Vertx简介
查看>>
项目经理在项目各阶段的工作重点-更新版
查看>>
s3c2440中U-boot移植时执行cp.b提示:Flash not Erased【转】
查看>>
docker Redis的主从配置
查看>>
博文参考:Java编程中“为了性能”尽量要做到的一些地方
查看>>
【JAVASCRIPT】jquery实现ajax无刷新评论
查看>>
flex---->MXML语法
查看>>
mysql日志设置优化
查看>>
安装oracle遇到的故障
查看>>
进一步了解String
查看>>