请高手解答这样理解php的类和引用是否正确?

来源:3-6 对象引用的基本概念-PHP面向对象编程

美女爱飘逸

2015-04-20 11:59

比如,对象Nb的内存地址是0x0001,有个变量$a = new Nb(); 那么$a的值是什么呢,就是内存地址0x0001,就指向这个Nb对象

$b = $a; 那么$b的值是什么呢,还是内存地址0x0001,也是指向Nb对象,那么把$a = null ,那么对$b也没有影响,$b还在使用Nb对象,那么,$a = null的时候,是不会调用析构函数的

那么,$c =& $a; $c的值是什么呢? 首先,&是引用传值,所以,$c的值是变量$a的内存地址,假如,$a的内存地址是0x0101,那么,$c的值就是0x0101,指向$a

假如Nb类里面有个eat方法,那么我们调用$c->eat();时,是怎样个过程呢,那就是,$c通过自己的值0x0101找到$a,$a通过自己的值0x0001找到Nb这个对象,然后,就调用了eat这个方法。

写回答 关注

2回答

  • zqbinary
    2016-03-08 17:29:17

    在PHP 中引用的意思是:不同的名字访问同一个变量内容。
    与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容,在内存中存放的地址。

    http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/09/10/2173092.html

  • colinxu
    2015-04-23 16:59:35

    正确,但我不是高手。。

PHP面向对象编程

从容应对面试官的知识宝典,带你握面向对象的最重要的核心能力

70146 学习 · 361 问题

查看课程

相似问题