在子函数的静态调用中,为什么父函数会运行?

时间:2012-09-30 15:21:47

标签: php class inheritance static

让我们看看这个班级建设:

class A
{
    public static function aa() { }
}

class B extends A
{
    public static function bb() { }
}

此处B:bb();A:aa();有效。但为什么B:aa();仍然有效?这不是说我直接调用aa的{​​{1}}方法吗?为什么继承和压倒在这里工作?

1 个答案:

答案 0 :(得分:5)

class B 扩展 class A时,B类具有A所拥有的每个受保护的公共方法。

通过调用B:aa(),编译器会查看是否在类B中覆盖B:aa(),如果没有,则调用父类,在这种情况下为A类。

在面向对象编程(OOP)中,扩展类也称为继承,B类从类A继承所有公共和受保护的方法