不用var....声明了有时候反而出现莫名其妙的错误。。

解决方案 »

  1.   

    刚才又去看了车子的例子。还有那个猪头深空的。明白了一点。
    什么会出现莫名其妙的错误?猪头深空那个例子里面说,需要var一下喔。var了之后才能在$hand->var这样在函数外引用啊。
      

  2.   

    我从来不用var,因为以前用的时候出现过一些错误。函数外引用是什么意思?是说在该类的其他方法里使用还是说在所实例化对象中使用?
      

  3.   

    我指的是对外的使用,类外引用该类的时候用的,那样的时候就要var一下才可以吧。
      

  4.   

    <?php
    /**
    *  类名: 蛋
    *  描述: 蛋是怎样做成菜的
    *  其他: 翠花,上鸡蛋
    */
    class egg
    {
        // 蛋的类型
        var $egg_type;
        var $egg_num;
        var $isexists;
        var $egg_method;    /**
        *   函数功能:   构造,有没有蛋?
        */
        function egg($value=null)
        {
            if($value!=null)
            {
                $this->isexists = true;
            }
            else
            {
                $this->isexists = false;
            }
        }    /**
        *   函数功能:   设置蛋型
        */
        function setEggType($value)
        {
            $this->egg_type = $value;
        }    /**
        *   函数功能:   设置蛋数
        */
        function setEggNum($value)
        {
            $this->egg_num = $value;
        }    /**
        *   函数功能:   设置蛋数
        */
        function setEggMethod($value)
        {
            $this->egg_method = $value;
        }    /**
        *   函数功能:   返回有无蛋信息
        */
        function isEggExists()
        {
            Return $this->isexists;
        }    /**
        *   函数功能:   取得蛋型
        */
        function getEggType()
        {
            Return $this->egg_type;
        }    /**
        *   函数功能:   取得蛋数
        */
        function getEggNum()
        {
            Return $this->egg_num;
        }    /**
        *   函数名称:
        *   函数功能:
        *   输入参数:   输入参数的作用、取值说明及参数间关系
        *   函数返回值: 返回值说明
        *   其它说明:   说明
        */
        function getEggMethod()
        {
            Return $this->egg_method;
        }
        /**
        *   函数功能:   做菜
        */
        function doEgg()
        {
            echo $this->getEggMethod().$this->getEggType().$this->getEggNum()."个";
        }
    }// 类的使用
    //-------------------------------------------------------------------------
    // 无蛋的情况
    //$egg = new egg();// 有蛋的情况
    $egg = new egg(true);if($egg->isEggExists())
    {
        // 访问类的方法,我一般这样用
        $egg->setEggNum(3);// 找三个蛋
        $egg->setEggType("鸡蛋");// 鸡蛋,不是别的蛋
        $egg->setEggMethod("炸");// 用炸的,不能炒
        $egg->doEgg();// 去做吧,做好了叫我    // 报告一下,给钱吧
        echo "<br><br>我用蛋个数:".$egg->getEggNum();
        echo "<br>蛋的类型是:".$egg->getEggType();    // 访问类的成员变量也是可以的,我宁可写成一个方法也不把类的细节告诉别人
        // 使用者只需要知道类中有方法可以得到这些东西即可。如上面所示
        echo "<br><br>".$egg->egg_num.$egg->egg_type;
    }
    else
    {
        echo "没蛋了";
    }
    //-------------------------------------------------------------------------
    ?>
      

  5.   

    我觉得这样还是麻烦了一点,直接用一个set_var的成员函数不是更方便么?