PHP中new出来的对象和 clone复制出来的对象
来源:互联网 发布:省流量的软件 编辑:程序博客网 时间:2024/05/18 18:02
</pre><pre name="code" class="php">class Person{var $name;function __construct(){# code...$this->name="小aa明".'<br />';}function say(){echo $this->name."在说话";}}
这是一个简单的类
$new = new Person();$new -> say();$clone = clone $new ;$clone -> say();
我们分别new一个对象和clone克隆一个对象
网页中输出的结果是:小aa明在说话
小aa明在说话
看起来完全一样 似乎并没有什么区别
接着再写代码
$new -> name ="校长";$new -> say();$clone -> say();$new ->say();
我们给Person的$name重新赋值
那么最开始克隆的对象的$name会不会变呢?
输出结果为:小aa明在说话
小aa明在说话(这两句是最开始的输出)
校长在说话
小aa明在说话(这一句是改变Person的$name后克隆对象的say方法并没有跟着改变而改变)
校长在说话
new出来的东西是完全没关系的,完全是两个对象
克隆new出来的东西,它们只是名字不同,但是如果一个改变,另一个并不会跟着改变,克隆后原本和副本完全独立,互不干扰
0 0
- PHP中new出来的对象和 clone复制出来的对象
- new出来的对象一定要delete
- new出来的service对象和你在spring中注入的service对象不是同一个对象
- 关于 Spring new出来的对象 与自动注入对象
- A的对象和new出来的对象有什么区别
- c++ new 和 不 new创建出来的对象有什么区别
- Item 17 将new出来的对象存入智能指针
- Item 13 管理在堆上new出来的对象
- C++箴言:将new出来的对象存入智能指针
- TDD Tip:方法内部New出来的对象如何Mock
- JAVA中String直接赋值与new出来的对象赋值的区别
- cocos2d-x-3.5 中new 出来的对象大部分是如何处理的
- C++new出来的和直接声明的对象变量有什么不同呢?
- 使用工厂方法mock测试方法体内中new出来的对象
- java中new出来一个对象和定义一个对象赋值为空有什么不同
- 对象数组中,将对象中,相同的key-value对象,分类出来
- php 对象复制(克隆)clone()
- JAVA程序运行的内存分析JDK7.0堆栈分析局部变量new出来的对象
- leetcode——123——Best Time to Buy and Sell Stock III
- 排序与算法
- Compile、Make和Build的区别
- android开发环境搭建
- 找出一个数组中的”单身“
- PHP中new出来的对象和 clone复制出来的对象
- C#中Split用法(把字符串以某个字符为分隔符分成一个数组)
- eclipse svn同步程序报错 Attempted to lock an already-locked dir(使用此方法已经解决问题)
- Codeforces Round #334 (Div. 2) D. Moodular Arithmetic
- SAP ABAP编程 获取物料长文本-其他长文本同理
- org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://mycluster/output alread
- JavaSE入门学习34:Java集合框架之Collection接口、子接口及其实现类
- Struts中ActionContext和ServletActionContext的比较 [转]
- c#调用c++制作的基于mfc的ocx控件