考虑以下代码:
class Manager{
function a(){
$var1 = 10;
$var2 = 20;
var_dump($var1 * $var2);
echo "<br> var1=" . $var1 . "<br>";
echo "var2=" . $var2;
}
}
class Sub extends Manager{
function a(){
$var1 = 20;
parent::a();
}
}
$s = new Sub();
$s->a();
在这里,我试图覆盖$var1fromSub::a()然后调用其父函数的值Manager::a(),希望 php 将$var1=20结果设置和显示为400(20 x 20)。但这似乎不起作用。$var1仍等于10。
想知道是否有办法部分覆盖 php 中可以覆盖函数局部变量的函数?特别是在这段代码中,我怎样才能摆脱400, 而不是 current 200?
[编辑]
这Sub只是一个例子,我将有多个子类,如Sub1, Sub2, Sub3& 等等。因此每个子类都会尝试为 设置不同的值$value1,如下所示:
class Sub1 extends Manager{
function a(){
$var1 = 20;
parent::a();
}
}
class Sub2 extends Manager{
function a(){
$var1 = 99;
parent::a();
}
}
class Sub3 extends Manager{
function a(){
$var1 = 50;
parent::a();
}
}