class A {
function m1($a) {
echo "from A";
}
}
class B extends A {
function m1() {
echo "from B";
}
}
$b = new B;
$b->m1();
我认为这不应该有效,因为根据PHP manual:
当覆盖方法时,参数签名应该保留 相同或PHP将生成E_STRICT级别错误。这不适用 到构造函数,它允许覆盖不同的参数。
如果我理解正确,在扩展类并覆盖其中一个方法时,必需参数必须相同。这不是真的吗? PHP中方法覆盖的实际规则是什么?请详细说明。