您好,欢迎访问一九零五行业门户网

问个子类对象直接调用基类内被重载的函数的有关问题

问个子类对象直接调用基类内被重载的函数的问题?
/// 问题看如下代码
nnum = 1024;
}
function selfclass()
{
echo class a
;
}
}
class b extends a
{
function selfclass()
{
echo class b
;
}
}
?>
selfclass(); // 调用b类的函数selfclass()函数
/* 如何能使用对象obj的基类的selfclass()函数?
c++下可以写类似的代码$obj->a::selfclass(),那么php可以如何实现呢?*/
?>
分享到:
------解决方案--------------------
引用:那么参数传递呢?
没有那么麻烦
nnum = 1024;
}
function selfclass($a,$b,$c,$d,$e,$f)
{
echo class a
 . $this->nnum . 
 . $a,$b,$c,$d,$e,$f. 
;
}
function __call($name, $arguments) {
list($class_name, $function_name) = explode('_', $name);
if(is_subclass_of($this, $class_name))
{
//反射一个方法
$reflectionmethod = new reflectionmethod($class_name, $function_name);
// 使用当前对象调用
$reflectionmethod->invokeargs($this, $arguments);
}
}
}
class b extends a
{
function b()
{
$this->nnum = 2048;
}
function selfclass()
{
echo class b
 . $this->nnum . 
;
}
}
class c extends b
{
function c()
{
$this->nnum = 4096;
}
function selfclass()
{
echo class c
 . $this->nnum . 
;
}
}
$obj = new b();
$obj->selfclass(); // 调用b类的函数selfclass()函数
$obj->a_selfclass(1,2,3,4,5,6,7);
$obj = new c();
$obj->selfclass(); // 调用c类的函数selfclass()函数
$obj->a_selfclass(1,2,3,4,5,6,7);
$obj->b_selfclass();
其它类似信息

推荐信息