ホームページ >バックエンド開発 >PHPチュートリアル >PHP での $this および $that ポインターの使用例、that pointer_PHP チュートリアル

PHP での $this および $that ポインターの使用例、that pointer_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:10:071047ブラウズ

PHPにおける$thisポインタと$thatポインタ、thatポインタの使用例

PHP5 では、オブジェクトのクローン作成時に自動的に呼び出される特別なメソッド名「__clone()」が定義されています。必要に応じて、「__clone()」メソッドを使用すると、元のオブジェクトと同じ属性とメソッドを持つオブジェクトが作成されます。クローン作成後に元のオブジェクトの内容を変更するには、__clone() の元の属性とメソッドを書き直す必要があります。「__clone()」メソッドには、$this と $that という 2 つのポインターが自動的に含まれます。 $this は複雑なオブジェクトを指し、$that は元のオブジェクトを指します。具体的な例は次のとおりです。

コードをコピーします コードは次のとおりです:
クラス人 {
//人のメンバー属性は以下の通りです
var $name // 人の名前
var $sex // 人の性別
var $age // その人の年齢
; // 構成メソッドのパラメータを属性名 name $ name、性別 $ sex、年齢 $ AGE として代入用に定義します
// 関数 __construct($name="", $sex="",$age="")
関数 __construct($name, $sex, $age) {
$this->name = $name;
$this->sex = $sex;
$this->age = $age;
}
// この人は自分の属性を伝える話し方ができる
関数say() {
echo "私の名前は: " . $this->name . " 性別: " . $this
-> 年齢 . "
";
}
// オブジェクトの複製時に自動的に呼び出されるメソッド。複製後に元のオブジェクトの内容を変更したい場合は、__clone() で元の属性とメソッドを書き換える必要があります。
関数 __clone() {
// $this はコピー p2 を指し、$that はオリジナルの p1 を指すため、このメソッドではコピーの属性が変更されます。
$this->name = "私はコピーされた Zhang San$that->name";
// $this->年齢 = 30;
}
}
$p1 = 新しい人 ( "张三", "男", 20 );
$p2 = クローン $p1;
$p1->say ();
$p2->say ();
?>

この PHP プログラムが正常に実行された後の結果は次のとおりです:

コードをコピーします コードは次のとおりです:
私の名前:張三 性別:男性 年齢:20歳
私の名前は: コピーされた張三です 性別: 男性 私の年齢: 20

http://www.bkjia.com/PHPjc/938858.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/938858.html技術記事 PHP での $this および $that ポインターの使用例 that ポインター PHP5 では、オブジェクトのクローン作成時に自動的に呼び出されるメソッドである「__clone()」メソッドが定義されています。 「方法...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。