电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

PHP基礎(chǔ)之類和對象17——對象復(fù)制

瀏覽:2日期:2022-09-14 18:48:21

在多數(shù)情況下,我們并不需要完全復(fù)制一個(gè)對象來獲得其中屬性。但有一個(gè)情況下確實(shí)需要:如果你有一個(gè) GTK 窗口對象,該對象持有窗口相關(guān)的資源。你可能會想復(fù)制一個(gè)新的窗口,保持所有屬性與原來的窗口相同,但必須是一個(gè)新的對象(因?yàn)槿绻皇切碌膶ο螅敲匆粋€(gè)窗口中的改變就會影響到另一個(gè)窗口)。還有一種情況:如果對象 A 中保存著對象 B 的引用,當(dāng)你復(fù)制對象 A 時(shí),你想其中使用的對象不再是對象 B 而是 B 的一個(gè)副本,那么你必須得到對象 A 的一個(gè)副本。 對象復(fù)制可以通過 clone 關(guān)鍵字來完成(如果可能,這將調(diào)用對象的?__clone()?方法)。對象中的?__clone()?方法不能被直接調(diào)用。

$copy_of_object = clone $object;

當(dāng)對象被復(fù)制后,PHP 5 會對對象的所有屬性執(zhí)行一個(gè)淺復(fù)制(shallow copy)。所有的引用屬性 仍然會是一個(gè)指向原來的變量的引用。

void?__clone?(?void?)

當(dāng)復(fù)制完成時(shí),如果定義了?__clone()?方法,則新創(chuàng)建的對象(復(fù)制生成的對象)中的?__clone()?方法會被調(diào)用,可用于修改屬性的值(如果有必要的話)。

Example #1 復(fù)制一個(gè)對象

<?php class SubObject {static $instances = 0;public $instance;public function __construct() { $this->instance = ++self::$instances;}public function __clone() { $this->instance = ++self::$instances;} } class MyCloneable {public $object1;public $object2;function __clone(){ // 強(qiáng)制復(fù)制一份this->object, 否則仍然指向同一個(gè)對象 $this->object1 = clone $this->object1;} } $obj = new MyCloneable(); $obj->object1 = new SubObject(); $obj->object2 = new SubObject(); $obj2 = clone $obj; print('Original Object:n'); print_r($obj); print('Cloned Object:n'); print_r($obj2);?>以上例程會輸出:

Original Object:MyCloneable Object( [object1] => SubObject Object( [instance] => 1) [object2] => SubObject Object( [instance] => 2))Cloned Object:MyCloneable Object( [object1] => SubObject Object( [instance] => 3) [object2] => SubObject Object( [instance] => 2))

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 涡轮流量计_LWGY智能气体液体电池供电计量表-金湖凯铭仪表有限公司 | 全自动实验室洗瓶机,移液管|培养皿|进样瓶清洗机,清洗剂-广州摩特伟希尔机械设备有限责任公司 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 浙江红酒库-冰雕库-气调库-茶叶库安装-医药疫苗冷库-食品物流恒温恒湿车间-杭州领顺实业有限公司 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | 北京四合院出租,北京四合院出售,北京平房买卖 - 顺益兴四合院 | 莱州网络公司|莱州网站建设|莱州网站优化|莱州阿里巴巴-莱州唯佳网络科技有限公司 | 深圳市万色印象美业有限公司| 膜结构停车棚-自行车棚-膜结构汽车棚加工安装厂家幸福膜结构 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 电动液压篮球架_圆管地埋式篮球架_移动平箱篮球架-强森体育 | 不发火防静电金属骨料_无机磨石_水泥自流平_修补砂浆厂家「圣威特」 | 路面机械厂家| 丝印油墨_水性油墨_环保油墨油漆厂家_37国际化工 | 无尘烘箱_洁净烤箱_真空无氧烤箱_半导体烤箱_电子防潮柜-深圳市怡和兴机电 | 厦门网站建设_厦门网站设计_小程序开发_网站制作公司【麦格科技】 | 镀锌方管,无缝方管,伸缩套管,方矩管_山东重鑫致胜金属制品有限公司 | 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 一路商机网-品牌招商加盟优选平台-加盟店排行榜平台 | 瑞典Blueair空气净化器租赁服务中心-专注新装修办公室除醛去异味服务! | 无压烧结银_有压烧结银_导电银胶_导电油墨_导电胶-善仁(浙江)新材料 | 安徽华耐泵阀有限公司-官方网站 安德建奇火花机-阿奇夏米尔慢走丝|高维|发那科-北京杰森柏汇 | 电池高低温试验箱-气态冲击箱-双层电池防爆箱|简户百科 | 温控器生产厂家-提供温度开关/热保护器定制与批发-惠州市华恺威电子科技有限公司 | 钢丝绳探伤仪-钢丝绳检测仪-钢丝绳探伤设备-洛阳泰斯特探伤技术有限公司 | HYDAC过滤器,HYDAC滤芯,现货ATOS油泵,ATOS比例阀-东莞市广联自动化科技有限公司 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 净水器代理,净水器招商,净水器加盟-FineSky德国法兹全屋净水 | 合肥升降机-合肥升降货梯-安徽升降平台「厂家直销」-安徽鼎升自动化科技有限公司 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 粉末包装机,拆包机厂家,价格-上海强牛包装机械设备有限公司 | 品牌广告服务平台,好排名,好流量,好生意。 | 质构仪_鱼糜弹性仪-上海腾拔仪器科技有限公司 | 北京网站建设公司_北京网站制作公司_北京网站设计公司-北京爱品特网站建站公司 | 石油/泥浆/不锈钢防腐/砂泵/抽砂泵/砂砾泵/吸砂泵/压滤机泵 - 专业石油环保专用泵厂家 | 能耗监测系统-节能监测系统-能源管理系统-三水智能化 | 合肥白癜风医院_[治疗白癜风]哪家好_合肥北大白癜风医院 | 防水套管厂家_刚性防水套管_柔性防水套管_不锈钢防水套管-郑州中泰管道 | 上海乾拓贸易有限公司-日本SMC电磁阀_德国FESTO电磁阀_德国FESTO气缸 | 耐火浇注料-喷涂料-浇注料生产厂家_郑州市元领耐火材料有限公司 耐力板-PC阳光板-PC板-PC耐力板 - 嘉兴赢创实业有限公司 |