调用超类构造函数的子类方法

调用超类构造函数的子类方法

问题描述:

如何从超类构造函数调用子类方法?调用超类构造函数的子类方法

举例子:

<?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 
    } 
} 
+0

我会尝试在某一时刻:) – 2013-03-23 12:07:02

+0

它运作良好,谢谢:) – 2013-03-23 12:15:24