0

クラス A と B という 2 つのクラスがあります。「A」クラスを作成しました。そして、これで「B」クラスを作成します。「B」クラスから「A」クラス変数にアクセスするにはどうすればよいですか?

class A
{
    var letter;
    var writers;

    function __construct()
    {
        $this-letter = 'SOMETHING';
        $this->writers = new B;         
    }

}

class B extends Writers
{
    function __construct()
    {
        parent::__construct();
        echo $letter; //This is where i want to acces outside variable (CLASS 'A')
    }

}

私が明確だったことを願っています。私はOOP-ingの新人です。私を助けてください。

4

5 に答える 5

0

あなたの B クラスは、どうにかして A オブジェクトへの参照を持つ必要があります。B に単純に追加できます:

class B extends Writers
{
    private $a;

    function __construct()
    {
        parent::__construct();
        echo $letter; //This is where i want to acces outside variable (CLASS 'A')
    }

   public function A($a)
   {
        $this->a = $a;
   }
}

次に、単に A オブジェクトにそれ自身への参照を B オブジェクトに与えるだけです。

class A
{
    var letter;
    var writers;

    function __construct()
    {
        $this-letter = 'SOMETHING';
        $this->writers = new B;    
        $this->writers->A($this);
    }

}

代替手段は静的メソッドです。

于 2013-10-01T18:54:37.507 に答える