name="hello"; } public function __set($name, $value){ $this->$name=$value; }"> 跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

如何在子类用父类的魔术方法

怎么在子类用父类的魔术方法 本帖最后由 meenw 于 2014-07-29 12:47:44 编辑 父类:P

class P{
private $name="";
function __construct(){
$this->name="hello";
}
public function __set($name, $value){
$this->$name=$value;
}
public function showName(){
echo $this->name;
}
}
子类:C
class C extends P{
function __construct(){
parent::__construct();

//想在这里给P类的$name换个值(你好)怎么做?
}
}
$c=new C; $c->showName; 然后输出:你好 怎么实现? ------解决方案--------------------
class P{
private $name="";
function __construct(){
$this->name="hello";
}
public function __set($name, $value){
$this->$name=$value;
}
public function showName(){
echo $this->name;
}
}
class C extends P{
function __construct(){
parent::__construct();
$this->name = '你好';
}
}
$c=new C;
$c->showName();

print_r($c);
你好 C Object ( [name:P:private] => 你好 ) ------解决方案--------------------

class P{
private $name="";
function __construct(){
$this->name="hello";
}
public function __set($name, $value){
$this->$name=$value;
}
public function showName(){
echo $this->name;
}
}


class C extends P{
function __construct(){
parent::__construct();
//想在这里给P类的$name换个值(你好)怎么做?
$this->name = '你好';
}
}

$obj = new C();
$obj->showName();

相关文章