加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中$this和$that指针使用实例

发布时间:2020-12-13 02:19:29 所属栏目:PHP教程 来源:网络整理
导读:《:PHP中$this和$that指针使用实例》要点: 本文介绍了:PHP中$this和$that指针使用实例,希望对您有用。如果有疑问,可以联系我们。 PHP编程 PHP5中定义了一个特殊的办法名“__clone()”办法,是在对象克隆时自动调用的办法,用“__clone()”办法将建立一个

《:PHP中$this和$that指针使用实例》要点:
本文介绍了:PHP中$this和$that指针使用实例,希望对您有用。如果有疑问,可以联系我们。

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

代码如下:

<?php
class Person {
??? // 下面是人的成员属性
??? 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;
??? }
??? // 这个人可以说话的办法,说出自己的属性
??? function say() {
??????? echo "我的名字叫:" . $this->name . " 性别:" . $this->sex . " 我的年龄是:" . $this
??????? ->age . "<br>";
??? }
??? // 对象克隆时自动调用的办法,需要在__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编程成功运行此PHP程序后的结果如下:

代码如下:

我的名字叫:张三 性别:男 我的春秋是:20
我的名字叫:我是复制的张三 性别:男 我的春秋是:20

《:PHP中$this和$that指针使用实例》是否对您有启发,欢迎查看更多与《:PHP中$this和$that指针使用实例》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读