1

私はOOPをいじくり回して、これを行う方法を見てきました。処理を行い、値を独自のプロパティに設定する親クラスがあります。次に、動的に変更されたプロパティに「何らかの方法で」アクセスしながら、親を拡張する子クラスを作成したいと考えています。ある種のプロキシでこれを行うことができるかどうか疑問に思っていました。私はまだ学習中なので、ここでの OOP 戦略について 100% 確信があるわけではありません。

class Parent
{
    public $test;

    public function boot()
    {
        // boot stuff
        $this->internalStuff();
    }

    public function internalStuff()
    {
        $this->test = 'World!';
        $c = new Child();
        $c->cTest();
    }
}

$p = new Parent;
$p->boot();


class Child extends Parent
{
     public function __construct()
     {}

     public function cTest()
     {
         echo 'Hello ' . $this->test;
     }
}
4

1 に答える 1

1

継承 (クラス間の親子関係) は、クラス定義にのみ適用されます。つまり、クラスが持つメソッドとプロパティです。クラスの「青写真」を定義するだけです。実際のは、クラスのオブジェクト インスタンスに割り当てられます。インスタンス化されたオブジェクトの継承を変更することはできません。親子関係がどうであれ、あるオブジェクトが別のオブジェクトの値を魔法のように引き継ぐこともありません。

いいえ、そのようには機能しません。オブジェクトに特定の値を持たせたい場合はChild、それらをそのオブジェクトのインスタンスに割り当てる必要があります。別のクラスの完全に異なるオブジェクト インスタンスで何をしたかは問題ではありません。

于 2012-06-11T11:52:31.380 に答える