ホームページ php教程 php手册 セクション 5 - クローン作成

セクション 5 - クローン作成

Jun 13, 2016 pm 12:37 PM

/*
------------------------------------------- ----------------------------------
| この記事は Haohappy<<Core PHP で読まれていますプログラミング> ;>
| = 章のクラスとオブジェクトのメモ
| = 不要なトラブルを避けるため、転載しないでください。批判や修正は大歓迎です。私たちはすべての PHP 愛好家とともに進歩していきたいと考えています。
= PHP5 Research Center: http://blog.csdn.net/haohappy2004
--------- ----- -------------------------------------- ----- ---------------
*/

セクション 5 -- クローン

PHP5 のオブジェクト モデルは、次のようにオブジェクトを呼び出します。ただし、オブジェクトのコピーを作成し、元のオブジェクトへの変更がコピーに影響しないようにしたい場合があります。この目的のために、PHP では __construct や __destruct と同様に、その前に __clone という特別なメソッドが定義されています。 2 つのアンダースコア。
​​
デフォルトでは、__clone メソッドを使用すると、元のオブジェクトと同じプロパティとメソッドを持つオブジェクトが作成されます。クローン作成時にデフォルトのコンテンツを変更する必要があります。

clone メソッドにはパラメーターを含めることはできませんが、このポインターとそのポインター (コピーされるオブジェクトを指す) の両方が含まれているため、自分自身をクローンする場合は、次の点に注意する必要があります。オブジェクトには、そこからこれまでの情報が含まれています。 __clone を使用してコピーする場合、

以下は、シリアル序数を使用してオブジェクトを自動化する例です。 🎜 >



コードをコピー

コードは次のとおりです:<?php class ObjectTracker //Object Tracker

{ > private static $nextSerial = 0;

private $id;

function __construct($name) //コンストラクター関数
$this-> ; name = $name;
$this->id = self::$nextSerial;

__clone() //クローン
{ $this-> name = "$that のクローン->name";
$this->id = self::$nextSerial;
} }

function getId() //id 属性の値を取得
戻る($this->名前);
} }
}

$ot = new ObjectTracker("Zeev のオブジェクト")
$ot2 = $ot->__clone(); ;

//出力: 1 Zeev のオブジェクト
print($ot->getId() . " " . $ot->getName() . "<🎜"); >
/ /出力: Zeev のオブジェクトの 2 つのクローン
print($ot2->getId() . " " . $ot2->getName() . "<br>"); ?>

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)