面对对象,phper帮忙解惑一下~~~

2011-11-09 17:36:39 +08:00
 kojp
我有两个类。
class A{

}

class B{}

$b=new B();
$a=new A();
3397 次点击
所在节点    问与答
5 条回复
kojp
2011-11-09 17:38:58 +08:00
敲太快了。。误回车。。不好意思。。

class A{
function xxxA(){
$xxb=new B{};
$valuea=$xxb->getval();
}

}

class B{
function getval(){}
}

$b=new B();
$a=new A();


这样能实现不?
kojp
2011-11-09 17:39:00 +08:00
敲太快了。。误回车。。不好意思。。

class A{
function xxxA(){
$xxb=new B{};
$valuea=$xxb->getval();
}

}

class B{
function getval(){}
}

$b=new B();
$a=new A();


这样能实现不?
francis
2011-11-09 17:41:27 +08:00
当然可以啊。。
kojp
2011-11-09 17:44:06 +08:00
哦。。。

那我试试。。。

我现在是这样。

在外面
$xxb=new B();
在calss A里面呢。。

global $xxb;
$xxb->getval();

这样行不?(有区别吗)
francis
2011-11-09 17:52:45 +08:00
有。

原来方法里的B的实例化对象只是局部变量,存在方法内部,因为没有return就没有其他的引用了。所以不能再被访问的到,也有可能会被销毁;

后面用global调用外部的实例化对象,他就是调用了实例化对象 - -!!!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/21099

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX