页:
[1]
| hywpinbo | 2006-7-12 06:56 AM |
|
各位大侠,两个类之间的函数可以相互调用吗?
我写了两个类,它们之间的函数相互调用,老是出错?是不是不能相互调用呀?请各位大侠帮忙!谢谢先:L |
|
class b extends a
b类里可以调用a类里的东西
两个类互相调用好像不行吧? |
| pcletian | 2006-7-13 01:32 AM |
|
如果要两 个类方法相互调用的话,需把两个类的方法都定义为静态的,这样相互通过(类名::方法)就可以相互调用了。
[[i] 本帖最后由 pcletian 于 2006-7-13 09:34 AM 编辑 [/i]] |
| hywpinbo | 2006-7-13 05:55 AM |
|
谢谢先,我有些不明白三楼的!
比如这个例子:
<?
class a
{
function a_add()
{
$i=0;
$i=$i+1;//i加1
return $i;
}
}
class b
{
function b_show()
{
echo $this->a_add();//输出i加1后的值
}
}
$test_a=new a();
$test_b=new b();
$test_b->b_show();
?>
真对这个例子(这个例子运行是错误的)应该怎么做,谢谢!
[[i] 本帖最后由 hywpinbo 于 2006-7-13 01:58 PM 编辑 [/i]] |
| hywpinbo | 2006-7-14 12:45 AM |
|
可以这样做!
可以这样做:
<?
class a
{
function a_add()
{
$i=0;
$i=$i+1;//i加1
return $i;
}
}
class b extends a
{
function b_show()
{
echo $this->a_add();//输出i加1后的值
}
}
$test_b=new b();
$test_b->b_show();
?>
b类(定义为)是a类的子类那么b类就可已调用a类的所有方法! |
| liyaping | 2006-7-20 09:09 AM |
|
<?
class a
{
function a_add()
{
$i=0;
$i=$i+1;//i加1
return $i;
}
}
class b
{
function b_show($obj)
{
echo $obj->a_add();//输出i加1后的值
}
}
$test_a=new a();
$test_b=new b();
$test_b->b_show($test_a);
?> |
Powered by Discuz! Archiver 6.1.0
© 2001-2006 Comsenz Inc.
Processed in 0.006384 second(s), 2 queries |