资讯专栏INFORMATION COLUMN

php 克隆

renweihub / 288人阅读

摘要:前一段时间,看了中的对象克隆。感觉自己对于中的对象克隆也不是很清楚,所以就做了一个小测试。对于对象变量而言,简单的赋值是引用。如果有什么理解错误的地方,欢迎朋友指出。

前一段时间,看了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/30132.html

相关文章

  • php 克隆

    摘要:前一段时间,看了中的对象克隆。感觉自己对于中的对象克隆也不是很清楚,所以就做了一个小测试。对于对象变量而言,简单的赋值是引用。如果有什么理解错误的地方,欢迎朋友指出。 前一段时间,看了Java中的对象克隆。感觉自己对于php中的对象克隆也不是很清楚,所以就做了一个小测试。代码如下 运行的结果如图showImg(https://segmentfault.com/img/bVbozBA...

    zhangfaliang 评论0 收藏0
  • PHP设计模式总结

    摘要:总结工厂类必须有一个工厂方法工厂方法必须能够返回一个其他类的实例一次只能创建和返回一个实例三设计模式汇总设计模式汇总相关文章设计模式之单例模式的一个技术栈后端猿的知识储备大纲设计模式之工厂模式单例模式注册树模式 Learning PHP Design Patterns.设计模式的宗旨就是重用,应用设计模式可以使我们的代码更加优雅、简洁、低耦合。 一、单例模式 1.什么是单例模式: 一个...

    zxhaaa 评论0 收藏0
  • PHP设计模式(四)单例模式(Singleton)

    摘要:一什么是单例设计模式单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。 一、什么是单例设计模式 单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。 二、单例模式的技巧 利用$_instance私有变量来保存类的唯一实例化对象; 设计一个getInstance对外公开的函数,...

    余学文 评论0 收藏0
  • Chap4:创建型设计模式————原型设计模式

    摘要:原型设计模式中,原型设计模式的关键是要了解如何使用内置函数抽象原型角色声明一个克隆自身的接口具体原型角色实现一个克隆自身的操作原型设计模式的目的通过克隆以减少实例化对象的开销,与其实例化新对象,完全可以使用一个已有实例的克隆注意类是原型设计 原型设计模式 Notice: PHP中,原型设计模式的关键是要了解如何使用内置函数__clone() 抽象原型角色(Prototype):声明一...

    MiracleWong 评论0 收藏0
  • php实现设计模式】之单例模式

    摘要:单例模式是最常用,也是最简单的一种设计模式。什么是单例模式他是一个特殊的类,该类在系统运行时只有一个实例。这个类必须提供一个获取对象实例的方法。可以参考鸟哥的这遍文章,经测试在下是有效的破坏单例 单例模式是最常用,也是最简单的一种设计模式。 什么是单例模式他是一个特殊的类,该类在系统运行时只有一个实例。这个类必须提供一个获取对象实例的方法。 有什么作用1.全局只创建一次实例,提高性能,...

    shery 评论0 收藏0

发表评论

0条评论

renweihub

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<