Maison  >  Article  >  développement back-end  >  Qu’est-ce qu’un objet clone php ? Comment y parvient-on ?

Qu’est-ce qu’un objet clone php ? Comment y parvient-on ?

伊谢尔伦
伊谢尔伦original
2017-07-17 11:50:071349parcourir

Parfois, nous devons utiliser deux objets identiques ou plus dans un projet. Si vous utilisez le mot-clé "nouveau" pour créer l'objet à nouveau, attribuez une valeur identique <.> l'attribut est plus lourd et sujet aux erreurs, il est donc très nécessaire de cloner complètement un objet identique à partir d'un objet, et après le clonage, les deux objets n'interféreront pas l'un avec l'autre. En PHP5, nous utilisons le mot-clé "clone" pour cloner des objets ;

<?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 définit un nom de méthode spécial "clone()", qui est une méthode qui est automatiquement appelée lorsqu'un objet est cloné , l'utilisation de la méthode "clone()" créera un objet avec les mêmes propriétés et méthodes que l'objet d'origine. Si vous souhaitez modifier le contenu de l'objet

original après le clonage, vous devez réécrire les propriétés d'origine et. méthodes dans clone(). La méthode "clone()" ne peut avoir aucun paramètre. Elle contient automatiquement deux pointeurs, $this et $that pointe vers la copie et $that pointe vers l'original ;

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn