php原本是浅克隆

原创 2016年05月31日 03:14:01

需要通过我们自己利用 __clone 实现深克隆


<?php

class Hero{
    public $title;
    public $color;
    public $wuqi;

    public function __clone(){
        //echo '克隆ing';
        $this->color='浅绿色';
        //克隆武器 倚天剑, 为属性赋值
        $this->wuqi=clone $this->wuqi;
    }
}

class Wuqi{
    public $title;
}

$yitian=new Wuqi();
$yitian->title='倚天剑';

$h1=new Hero();
$h1->title='剑圣';
$h1->color='绿色';
// 英雄拥有 倚天剑
$h1->wuqi=$yitian;

$h2=clone $h1;

var_dump($h1,$h2);

?>


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

多重背包(原本是一个01背包)

多重背包(原本是一个01背包)

java 深克隆浅克隆

  • 2010年09月30日 14:12
  • 8KB
  • 下载

创建模式之原型模式浅克隆

java 深克隆与浅克隆

  • 2013年09月11日 23:48
  • 55KB
  • 下载

java 深克隆 浅克隆

  • 2016年11月28日 15:31
  • 8KB
  • 下载

java 深度与浅克隆

现在Clone已经不是一个新鲜词语了,伴随着“多莉”的产生这个词语确实很“火”过一阵子,在java中也有这么一个概念,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clon...

浅析Java浅克隆机制

克隆定义:        克隆是指生物体通过体细胞进行的无性繁殖,以及由无性繁殖形成的基因型完全相同的后代个体组成的种群。通常是利用生物技术由无性生殖产生与原个体有完全相同基因组织后代的过程。  ...

数组克隆及对象的深、浅克隆(deep clone、shallow clone)

数组克隆及对象的深、浅克隆

史上最清晰易懂的JAVA深克隆和浅克隆讲解

深入浅出了解面向对象的深克隆和浅克隆阅读本文需要一定的面向对象基础和JavaIO流的相应知识!深克隆(要实现深克隆被克隆类以及被克隆类的引用必须实现Serializable接口)(未实现接口会抛出No...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php原本是浅克隆
举报原因:
原因补充:

(最多只允许输入30个字)