0

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

class MyClass { 

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

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

    function MyfuncTwo(){
    }
}

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

4

1 回答 1

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.
于 2013-02-09T19:46:49.250 回答