调用超类构造函数的子类方法
问题描述:
如何从超类构造函数调用子类方法?调用超类构造函数的子类方法
举例子:
<?php
include('../classes/A.php');
class B extends A {
public function __construct()
{
parent::__construct($this->view);
}
public function view() {
//something
}
}
$b = new B;
?>
例超类:
<?php
abstract class A
{
private $callback;
public function __construct($callback)
{
$this->callback = $callback;
call_user_func($this->callback);
}
}
?>
我能做些什么,使它的工作原理?
答
传递一个包含你的对象实例$this
一个数组,方法调用
(见调用类的方法call_user_func
man page的实例#4)
class B extends A {
public function __construct()
{
parent::__construct(array($this, 'view'));
}
public function view() {
//something
}
}
我会尝试在某一时刻:) – 2013-03-23 12:07:02
它运作良好,谢谢:) – 2013-03-23 12:15:24