扩展类php

扩展类php,php,class,oop,Php,Class,Oop,我怎样才能得到A类和B类的值 class A{ private $a; public function setA($a){ $this->a = $a; } public function getA (){ return $this->a; } } class B extends A{ } $a = new A(); $a->setA("Hello"); $b = new B(); echo($b->getA()); //empty

我怎样才能得到A类和B类的值

class A{
    private $a;

    public function setA($a){ $this->a = $a; }
    public function getA (){ return $this->a; }
}
class B extends A{

}

$a = new A();
$a->setA("Hello");

$b = new B(); 
echo($b->getA());    //empty

考虑到您似乎想要创建一个类
B
的实例来维护类
A
的现有实例的已填充值(而不仅仅是对它的引用),您想要使用PHP的特性


你的问题不清楚。你到底想做什么?呃,
类B扩展了{…}
?如前所述,您在任何地方都没有继承权。A和B是完全独立的。@jb,我想在类B
$x=new B()上调用getA函数$x->setA(“你好世界”);变量转储($x->getA())问题出在哪里?除非您在$a属性中为设置了值,否则它将为空。。。。看看我在评论中发布的代码;我在调用
getA()之前设置了一个值
类B
在这里似乎不相关。如果OP确实需要一个设置了
$a
B
,这就不行了。在本例中,
$b
仍然是
A
。但是,从这个问题上很难判断是否真的需要
B
,或者它只是因为OP不知道克隆而引入的。@Don't不是真的,不清楚OP到底是为了什么。我的解决方案只是给出了要求的结果。很难说它是否按照OP计划的方式这样做。
class A{
    private $a;

    public function setA($a){ $this->a = $a; }
    public function getA (){ return $this->a; }
}


class B extends A{
    //
}


$a = new A();
$a->setA("Hello");

$b = clone $a;

echo $b->getA();  // output is "Hello"