ホームページ  >  記事  >  バックエンド開発  >  PHPクローンオブジェクトとは何ですか?それはどのように達成されるのでしょうか?

PHPクローンオブジェクトとは何ですか?それはどのように達成されるのでしょうか?

伊谢尔伦
伊谢尔伦オリジナル
2017-07-17 11:50:071304ブラウズ

プロジェクト内で 2 つ以上の同一の オブジェクト を使用する必要がある場合があります。[new] キーワードを使用してオブジェクト を再度作成し、同じ プロパティ を割り当てて比較すると、面倒でエラーが発生しやすくなります。したがって、オブジェクトに基づいて同一のオブジェクトを完全に複製することが非常に必要であり、複製後、2 つのオブジェクトは互いに干渉しません。 PHP5 では、オブジェクトのクローンを作成するためにキーワード「clone」を使用します。

<?php 
class Person{ 
//下面是人的成员属性 
var $name; //人的名子 
var $sex; //人的性别 
var $age; //人的年龄 
//定义一个构造方法参数为属性姓名$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>"; 
} 
} 
$p1=new Person("张三", "男", 20); 
//使用“clone”克隆新对象p2,和p1对象具有相同的属性和方法。 
$p2=clone $p1; 
$p2->say(); 
?>

PHP5 では、オブジェクトのクローン作成時に自動的に呼び出される特別なメソッド名「clone()」メソッドを使用します。クローン作成後に元のオブジェクトの内容を変更したい場合は、clone() メソッドで元のプロパティとメソッドを書き換える必要があります。パラメータはありません。$this と $that という 2 つのポインターが自動的に含まれます。$this はコピーを指し、$that はオリジナルを指します。

以上がPHPクローンオブジェクトとは何ですか?それはどのように達成されるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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