PHP:多态抽象静态方法

Ita*_*tay 1 php oop inheritance abstract static-polymorphism

我正在尝试这样做,但我没有成功.

abstract class Animal 
{ 
    abstract static function getName();
    static function sayName() { echo self::getName(); }
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

小智 7

你有两个问题:

  1. 静态函数不能再在php中进行抽象.
  2. 如前所述,后期静态绑定:因为方法getName()是在子类中定义的,所以需要使用static :: getName()而不是self :: getName()来访问它


dec*_*eze 6

如果您已经提示如何 "不成功",那将是很好的,但我想你是在绊倒静态绑定并需要使用PHP 5.3中引入的后期静态绑定.