2

以下のコードから、Bで定義されたメソッドから$parent->fooと$parent->foo1の値をそれぞれ$child->barと$child->bar1に入れる方法を知っている人はいますか?

$ child-> bar = $parent->fooと$child->bar1 = $ parent-> foo1の値をオブジェクトの外にコピーできますが、子(または親)に簡単なメソッドがあるように感じますそのことについて)この状況のた​​めに。私の親オブジェクトは、html入力ボックスからfooの値を取得しています。

Class A 
{
    public $foo="someText";
    public $foo1="someOtherText";
}

Class B extends A 
{
    public $bar;
    public $bar1;

    //theoretical function Id like to use
    public copyParentcontents() 
    {

    }
}

$parent = new A();
$child = new B();
4

2 に答える 2

1
Class B extends A {

public $bar;
public $bar1;

//theoretical function Id like to use
public copyParentcontents($parent) {
    if(get_class($parent)=="A"){
        $this->$bar = $parent->foo;
        $this->$bar1 = $parent->foo1;
    }else{
    //You could throw an exception here
    }
}

}

その後:

$parent= new A; $child= new B; 
$parent->foo = "modifiedText";
$child->copyParentcontents($parent);

おそらくこれはあなたが必要なものですか?

于 2012-10-18T19:11:50.737 に答える
0

あなたの例で$childは、からクラスパラメータを継承します$parent

echo $child->foo; // prints "someText";
于 2012-10-18T19:12:12.067 に答える