Définition : Cloner un objetclone
, c'est-à-dire copier un objet nouveau et identique à partir d'un objet existant, mais les deux ne sont pas le même objet.
1. Le clonage d'objets est réalisé grâce au mot-clé clone, à savoir : clone
对象
;
<?php class Saler{ //属性 public $count; private $money; } //实例化 $s1 = new Saler(); $s1->count = 1; //克隆 $s2 = clone $s1; ?>
2. L'objet cloné et l'objet original ont deux adresses mémoire, ce sont donc deux objets différents
<?php //接上述代码 $s2->count = 2; echo $s1->count; //1,没有变化 ?>
3. L'objet appellera automatiquement le constructeur existant lorsqu'il sera instancié __construct()
, De même, à l'intérieur la classe, PHP vous permet de définir une méthode __clone()
. Une fois l'objet cloné, l'objet nouvellement cloné appellera automatiquement
<?php class Saler{ //属性 public $count; private $money; //克隆方法 public function __clone(){ var_dump($this); //编号为2,代表是克隆出来的对象 $this->count++; } } //实例化 $s1 = new Saler(); $s1->count = 1; //克隆 $s2 = clone $s1; ?>
4. Si l'objet n'est pas autorisé à être cloné. Vous pouvez privatiser la méthode __clone()
(ne permettant essentiellement pas de cloner l'objet en externe)
<?php class Saler{ //属性 public $count; private $money; //私有化克隆方法 private function __clone(){} } //实例化 $s1 = new Saler(); $s1->count = 1; //克隆 $s2 = clone $s1; //致命错误:不允许对象在外部访问一个私有方法 ?>
Recommandé : tutoriel vidéo php
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!