【问题标题】:On a static call of a child function, why does the parent function run? [closed]在子函数的静态调用中,为什么父函数会运行? [关闭]
【发布时间】:2012-09-21 15:48:15
【问题描述】:

让我们看看这个类的构造:

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

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

这里,B:bb();A:aa(); 是有效的。但是为什么B:aa(); 仍然有效?不是说我直接调用Baa方法吗?为什么继承和覆盖在这里起作用?

【问题讨论】:

    标签: php class inheritance static


    【解决方案1】:

    作为class B 扩展 class A,B 类拥有 A 也拥有的每个 protectedpublic 方法。

    通过调用B:aa(),编译器会查看B:aa() 是否在B 类中被覆盖,如果没有,它会调用父类,在本例中为A 类。

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

    【讨论】:

    • 第二段的解释+1
    猜你喜欢
    • 2011-10-04
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多