扩展类php
我怎样才能得到A类和B类的值扩展类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
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"