做个题目,大家来做做;P
klggg 2005-07-13 11:53:22 <?
/*
有两个类: 类1 类2
问题:在 类2 的一个函数里(不包括解析函数)改变 类1 的一个成员变量的值 并打印出来
条件:
1. 在php4下实现
2. 类2必须在类1下实例化
以下我写了个例子,但还没有实现这样的功能.
*/
class class1
{
var $mString = null;
var $mObj = null;
function class1()
{
$this->mString="default1";
$tmp_obj= new class2($this);
$this->mObj = & $tmp_obj;
// $this->mObj = & new class2($this);
// $this->mString="default2";
}
}
class class2
{
var $mClass1 = null;
function class2(&$tClass1)
{
$this->mClass1=&$tClass1;
$tClass1->mString="class2->class2"; //这行在php4下的确改变了 mString的值
//$this->mClass1->mString="class2->class2";
}
function test()
{
$tmp=&$this->mClass1;
$tmp->mString="class2->test"; //这行在php4下的确没有产生作用结果只是改变了 class1下的 mString 成员的一个副本
//$this->mClass1->mString="class2->test";
}
}
$app_tmp=new class1();
$app_tmp->mObj->test();
echo $app_tmp->mString;
echo "<br>\n";
print_r($app_tmp);
?>