zoukankan      html  css  js  c++  java
  • php类和对象: clone 克隆

    对象也能被“克隆”

    在php5中,对象的传递方式默认为引用传递,如果我们想要在内存中生成两个一样的对象或者创建一个对象的副本,这时可以使用“克隆”。

    通过 clone 克隆一个对象

    对象的复制是通过关键字 clone 来实现的。用 clone 克隆出来的对象与原对象没有任何关系,它是把原来的对象从当前的位置重新复制了一份,也就是相当于在内存中新开辟了一块空间。通过关键字 clone 可以克隆一个对象,语法格式如下:

    $克隆对象名称=clone $原对象名称;

    __clone()方法 

    对象的__clone()方法不能够直接被调用,只有当通过关键字 clone 克隆一个对象时才可以使用该对象调用__clone()方法。当创建对象的一个副本时,php5将会检查__clone()方法是否存在。如果不存在,那 么它就会调用默认的__clone()方法,复制对象的所有属性。如果__clone方法已经定义过,那么__clone()方法就会负责设置新对象的属 性。所以在__clone()方法中,只需要覆盖那些需要更改的属性就可以了。例子如下:

    class MyClone{
        public function __clone(){
            echo"对象已被克隆";
        }
    }
    $objectA=new MyClone();
    $objectB=$objectA;  //不调用__clone()方法,没任何输出
    $objectC=clone $objectA;  //调用__clone()方法

    该程序执行结果为:对象已被克隆

  • 相关阅读:
    matlab colormap
    张量的基本概念
    河南省测绘资质单位大全
    Meanshift算法
    图形图像的绘制 GandyDraw
    leetcode
    Java 实现装饰(Decorator)模式
    Python
    Asp.Net+Easyui实现重大CRUD
    Scriptcase演示程序,现在,他们使用SC多么简单的开发系统
  • 原文地址:https://www.cnblogs.com/liqingbo/p/4824488.html
Copyright © 2011-2022 走看看