1#楼 |
|
|
回复人:xxfx007 |
注册时间:2004-11-24 |
主题/回复:10/33 |
积分:476 |
等级:★★☆(五级) |
称号:略有小成 |
|
|
|
1#楼 发表于2007-04-16 19:09:05
评分:1
|
|
$o2 = $o1 这个就是个赋值语句 因为o1是foo的一个实例化对象 o1的getX方法得到的值为4 之后又执行$o2 = $o1 就是copy了一个o1 名字叫o2的对象 这个时候o2的getX方法得到的值也为4 ,现在o1和o2没有关系了 都是2个对象 之后又把o1的getX方法得到的值变为5 所以得到的结果 一个是4 一个是5 |
|
2#楼 |
|
|
回复人:yzhxiang |
注册时间:2006-09-02 |
主题/回复:4/14 |
积分:492 |
等级:★★☆(五级) |
称号:略有小成 |
|
|
|
2#楼 发表于2007-04-24 20:59:52
评分:1
|
|
上面的程序执行的结果应该为4
完全同意上面仁兄的解答,但我的结果是4。
程序中的:
if($o1->getX() == $o2->getX())
print($o1->getX());
print($o2->getX());
用了if判断显然o1和o2不相等。其就不执行 “ print($o1->getX());”。
而执行“print($o2->getX());”,其o2结果为4。
o1的结果为5,但程序不执行。
|
|