如何在类中的另一个函数中访问函数的变量?

时间:2013-02-09 19:43:24

标签: oop

我是OOP的新手,需要澄清一些概念。我有一个带有私有变量和两个简单​​函数的简单类。函数一将私有变量的值设置为40.现在如何访问函数二中的变量值,使变量值为40?

class MyClass { 

    //declaring private variable:
    private $var = '';

    function MyfuncOne(){
        $this->var = "40";
    }

    function MyfuncTwo(){
    }
}

如何访问MyfuncOne()中声明的$this->var值40?

1 个答案:

答案 0 :(得分:2)

在功能二中,您可以像以下一样访问它:

function MyFuncTwo() {
    print $this -> var; // Just access it, its a member variable of the same class
}

该变量对从该类继承的其他类是私有的(无法访问),但可以从其他成员函数完全访问。

在默认构造函数上编辑 如果要在不先调用函数的情况下将值设置为40,则可能需要一个默认构造函数。

请参阅:http://php.net/manual/en/language.oop5.decon.php

简单地:

class MyClass {     
    //declaring private variable:
    private $var = '';

    // This is the default constructor, it gets called when you create the object
    function __construct() {
        $this -> var = "40";
    }

    function MyfuncOne(){
        $this->var = "40";
    }

    function MyfuncTwo(){
    }

    function get_var() {
        return $this -> var;
    }
}

然后当你制作你的对象时,它将被设置为“40”:

$obj = new MyClass();
print "The object's var is " . $obj -> get_var(); // Notice we didn't have to call MyFuncOne(), it's just set.