php - 抽象静态属性不能被覆盖?

标签 php oop abstract-class

abstract class Ghost {

    protected static $var = 'I\'m a ghost';

    final public static function __callStatic($method, $args = array()) {
        echo self::$var;
    }

}


class Person extends Ghost { 
    protected static $var = 'I\'m a person';
}

Person::whatever() 的调用将打印:I'm a ghost。 为什么?

最佳答案

您正在寻找名为 Late Static Binding 的东西, 这需要 PHP 5.3+

关于php - 抽象静态属性不能被覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9092902/

相关文章:

php - SQLSTATE[HY000] : General error

php - 像stackoverflow这样的积分系统

PHP、MySQL性能和效率场景

php - 使用 php 类和方法连接数据库

python - 覆盖内部函数

java - (Noob Coder)基本计算器问题 + 代码建议

c# - 如何模拟多重继承并使用反射来优化此代码?

php - 为什么这个查询在 PHPMyAdmin 中不起作用

java - 强制执行静态方法所需的设计模式

abstract-class - UML 中的类图用法