喜悦国际村 » PHP高级编程 » 各位大侠,两个类之间的函数可以相互调用吗?

页: [1]
hywpinbo2006-7-12 06:56 AM
各位大侠,两个类之间的函数可以相互调用吗?

我写了两个类,它们之间的函数相互调用,老是出错?是不是不能相互调用呀?请各位大侠帮忙!谢谢先:L

飞豹游侠2006-7-12 02:40 PM
class b extends a

b类里可以调用a类里的东西

两个类互相调用好像不行吧?

pcletian2006-7-13 01:32 AM
如果要两 个类方法相互调用的话,需把两个类的方法都定义为静态的,这样相互通过(类名::方法)就可以相互调用了。

[[i] 本帖最后由 pcletian 于 2006-7-13 09:34 AM 编辑 [/i]]

hywpinbo2006-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]]

hywpinbo2006-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类的所有方法!

liyaping2006-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