PHP中方法覆盖的实际规则是什么?

时间:2017-03-05 11:20:37

标签: php method-overriding

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中方法覆盖的实际规则是什么?请详细说明。

0 个答案:

没有答案