0

私はOOPに不慣れであり、いくつかの概念を明確にする必要があります。プライベート変数と2つの単純な関数を持つ単純なクラスがあります。関数1は、プライベート変数の値を40に設定します。関数2内の変数の値にアクセスして、変数の値を40にするにはどうすればよいですか?

class MyClass { 

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

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

    function MyfuncTwo(){
    }
}

$this->varMyfuncOne()で宣言されている値が40であるアクセスを取得するにはどうすればよいですか?

4

1 に答える 1

2

関数 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 に答える