概述
定义:克隆对象clone
,即通过已有的对象复制一个新的同样的对象,但是两者之间并非同一个对象。
1.对象克隆是通过clone关键字实现,即:clone
对象
;
<?php
class Saler{
//属性
public $count;
private $money;
}
//实例化
$s1 = new Saler();
$s1->count = 1;
//克隆
$s2 = clone $s1;
?>
登录后复制
2.克隆出来的对象与原来对象是两个内存地址,因此是两个不同的对象
<?php
//接上述代码
$s2->count = 2;
echo $s1->count; //1,没有变化
?>
登录后复制
3. 对象在实例化的时候会自动调用存在的构造方法__construct()
,同样的,在类的内部,PHP允许定义一个__clone()
的方法,在对象被克隆后,新克隆出来的对象会自动调用
<?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.如果不允许对象被克隆,可以将__clone()
方法私有化(本质是不允许对象在外部被克隆)
<?php
class Saler{
//属性
public $count;
private $money;
//私有化克隆方法
private function __clone(){}
}
//实例化
$s1 = new Saler();
$s1->count = 1;
//克隆
$s2 = clone $s1; //致命错误:不允许对象在外部访问一个私有方法
?>
登录后复制
推荐:php视频教程
以上就是php中的“克隆羊”的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是大意冰淇淋为你收集整理的php中的“克隆羊”的全部内容,希望文章能够帮你解决php中的“克隆羊”所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复