PHP中$this和$that指針使用實(shí)例
PHP5中定義了一個(gè)特殊的方法名“__clone()”方法,是在對象克隆時(shí)自動(dòng)調(diào)用的方法,用“__clone()”方法將建立一個(gè)與原對象擁有相同屬性和方法的對象,如果想在克隆后改變原對象的內(nèi)容,需要在__clone()中重寫原本的屬性和方法,“__clone()”方法可以沒有參數(shù),它自動(dòng)包含$this和$that兩個(gè)指針,$this指向復(fù)本,而$that指向原本,具體實(shí)例如下:
<?php
class Person {
// 下面是人的成員屬性
var $name; // 人的名字
var $sex; // 人的性別
var $age; // 人的年齡
// 定義一個(gè)構(gòu)造方法參數(shù)為屬性姓名$name、性別$sex 和年齡$age 進(jìn)行賦值
// function __construct($name="", $sex="",$age="")
function __construct($name, $sex, $age) {
$this->name = $name;
$this->sex = $sex;
$this->age = $age;
}
// 這個(gè)人可以說話的方法, 說出自己的屬性
function say() {
echo "我的名字叫:" . $this->name . " 性別:" . $this->sex . " 我的年齡是:" . $this
->age . "<br>";
}
// 對象克隆時(shí)自動(dòng)調(diào)用的方法, 如果想在克隆后改變原對象的內(nèi)容,需要在__clone()中重寫原來的屬性和方法。
function __clone() {
// $this 指的復(fù)本p2, 而$that 是指向原本p1,這樣就在本方法里,改變了復(fù)本的屬性。
$this->name = "我是復(fù)制的張三$that->name";
// $this->age = 30;
}
}
$p1 = new Person ( "張三", "男", 20 );
$p2 = clone $p1;
$p1->say ();
$p2->say ();
?>
成功運(yùn)行此PHP程序后的結(jié)果如下:
我的名字叫:張三 性別:男 我的年齡是:20
我的名字叫:我是復(fù)制的張三 性別:男 我的年齡是:20
- php類中的$this,static,final,const,self這幾個(gè)關(guān)鍵字使用方法
- PHP的構(gòu)造方法,析構(gòu)方法和this關(guān)鍵字詳細(xì)介紹
- PHP5中的this,self和parent關(guān)鍵字詳解教程
- 探討PHP中this,self,parent的區(qū)別詳解
- 深入php self與$this的詳解
- php class中self,parent,this的區(qū)別以及實(shí)例介紹
- PHP中::、->、self、$this幾種操作符的區(qū)別介紹
- PHP編程過程中需要了解的this,self,parent的區(qū)別
- php中$this->含義分析
- php self,$this,const,static,->的使用
- php面向?qū)ο笕ヂ?(三)特殊的引用“$this”的使用
- php中this關(guān)鍵字用法分析
相關(guān)文章
PHP通過header實(shí)現(xiàn)文本文件下載的代碼
所謂實(shí)現(xiàn)文本文件的下載就是說當(dāng)我們點(diǎn)擊一個(gè)文本文件的鏈接的時(shí)候不是打開這個(gè)文件,而是彈出一個(gè)下載對話框讓我們下載2010-08-08
PHP實(shí)戰(zhàn)之投票系統(tǒng)的實(shí)現(xiàn)
這篇文章主要為大家介紹了如何利用PHP制作一個(gè)投票系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下2022-04-04
PHP 獲取遠(yuǎn)程文件內(nèi)容的函數(shù)代碼
PHP 獲取遠(yuǎn)程文件內(nèi)容的代碼,后面有一些注釋可以參考下,其實(shí)大家可以參考腳本之家發(fā)布的一些采集程序代碼。2010-03-03

