douyan3478 2010-10-27 08:02
浏览 7
已采纳

通过引用将对象传递到另一个类

I did see this question but it doesn't fully answer the question I have.

If I do this:

$obj1 = new ObjectOne();

and then this:

$obj2 = new ObjectTwo($obj1);
$obj2->someFunction();

Where someFunction() modifies the attributes of the object passed into it, will both $obj1 and $obj2->passedInObject both in effect be updated?

  • 写回答

1条回答 默认 最新

  • dousheyan0375 2010-10-27 08:40
    关注

    I tried the following code, and it works as expected. The var in MyObject gets incremented in the original object.

    <?php 
    class MyObject {
         public $var;
    }
    
    class MyObjectTwo {
        public $objVar;
        function __construct($aObj1) {
            $this->objVar = $aObj1;
        }
    
        public function someFunction() {
            $this->objVar->var++;
        }
    }
    
    $obj1 = new MyObject();
    $obj1->var = 5; // Originally set to 5
    
    $obj2 = new MyObjectTwo($obj1);
    $obj2->someFunction();
    echo $obj1->var; // Prints 6
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计