我有一个课程如下:
class Base {
public static function test() {
echo "A";
}
}
现在我想创建一个新类,并使用Base类扩展它,以便我可以覆盖基类函数
class Basenew extends Base{
function test(){
echo "B";
}
}
必须如下工作:
当我使用下面的代码时:
Base::test();
必须输出B
而不是输出A
我怎么能在PHP中这样做。请帮忙。
答案 0 :(得分:1)
首先,它是extends
,而不是extend
。
其次,当你试图覆盖它时,你不能使静态方法非静态。
第三,如果你要覆盖,那么使用子类来查看更改,而不是基类。
<?php
class Base {
public static function test() {
echo "A";
}
}
class Basenew extends Base{
static function test(){
echo "B";
}
}
Basenew::test(); //B
Base::test(); //This will still say A because its still the parent class.
?>
<强> Fiddle 强>