摘要:前一段时间,看了中的对象克隆。感觉自己对于中的对象克隆也不是很清楚,所以就做了一个小测试。对于对象变量而言,简单的赋值是引用。如果有什么理解错误的地方,欢迎朋友指出。
前一段时间,看了Java中的对象克隆。感觉自己对于php中的对象克隆也不是很清楚,所以就做了一个小测试。代码如下
a = new A(); } } $b = new B(); $d = 1; $e = $d; $e++; echo "写时复制 "; echo $d." "; echo $e." "; echo "------------------------------------ "; $c = $b; $c->a->value++; $c->value++; echo "对象中的对象变量 "; echo $b->a->value." "; echo $c->a->value." "; echo "对象变量中的值变量 "; echo $b->value." "; echo $c->value." "; echo "-------------------------------------- "; $f = clone $b; $f->value++; $f->a->value++; echo "对象变量中的值变量 "; echo $b->value." "; echo $f->value." "; echo "对象中的对象变量 "; echo $b->a->value." "; echo $f->a->value." "; ?>
运行的结果如图
和Java还是一致的,结论如下
**对于值变量而言,简单的赋值是拷贝。
对于对象变量而言,简单的赋值是引用。
对于对象变量而言,利用clone进行赋值,对象变量中的值变量是拷贝,对象变量中的对象变量还是引用。**
如果有什么理解错误的地方,欢迎朋友指出。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/73355.html
摘要:一什么是单例设计模式单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。 一、什么是单例设计模式 单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。 二、单例模式的技巧 利用$_instance私有变量来保存类的唯一实例化对象; 设计一个getInstance对外公开的函数,...
摘要:原型设计模式中,原型设计模式的关键是要了解如何使用内置函数抽象原型角色声明一个克隆自身的接口具体原型角色实现一个克隆自身的操作原型设计模式的目的通过克隆以减少实例化对象的开销,与其实例化新对象,完全可以使用一个已有实例的克隆注意类是原型设计 原型设计模式 Notice: PHP中,原型设计模式的关键是要了解如何使用内置函数__clone() 抽象原型角色(Prototype):声明一...
摘要:单例模式是最常用,也是最简单的一种设计模式。什么是单例模式他是一个特殊的类,该类在系统运行时只有一个实例。这个类必须提供一个获取对象实例的方法。可以参考鸟哥的这遍文章,经测试在下是有效的破坏单例 单例模式是最常用,也是最简单的一种设计模式。 什么是单例模式他是一个特殊的类,该类在系统运行时只有一个实例。这个类必须提供一个获取对象实例的方法。 有什么作用1.全局只创建一次实例,提高性能,...
阅读 2691·2021-11-22 13:54
阅读 1014·2021-10-14 09:48
阅读 2266·2021-09-08 09:35
阅读 1523·2019-08-30 15:53
阅读 1109·2019-08-30 13:14
阅读 551·2019-08-30 13:09
阅读 2492·2019-08-30 10:57
阅读 3309·2019-08-29 13:18