V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
kojp
V2EX  ›  问与答

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

  •  
  •   kojp · 2011-11-09 17:36:39 +08:00 · 3390 次点击
    这是一个创建于 4756 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我有两个类。
    class A{

    }

    class B{}

    $b=new B();
    $a=new A();
    5 条回复    1970-01-01 08:00:00 +08:00
    kojp
        1
    kojp  
    OP
       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
        2
    kojp  
    OP
       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
        3
    francis  
       2011-11-09 17:41:27 +08:00
    当然可以啊。。
    kojp
        4
    kojp  
    OP
       2011-11-09 17:44:06 +08:00
    哦。。。

    那我试试。。。

    我现在是这样。

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

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

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

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

    后面用global调用外部的实例化对象,他就是调用了实例化对象 - -!!!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2625 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 04:52 · PVG 12:52 · LAX 20:52 · JFK 23:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.