我正在尝试做这样的事情,但我没有成功。
abstract class Animal
{
abstract static function getName();
static function sayName() { echo self::getName(); }
}
谢谢!
我正在尝试做这样的事情,但我没有成功。
abstract class Animal
{
abstract static function getName();
static function sayName() { echo self::getName(); }
}
谢谢!
你有两个问题:
如果您能提示您如何“不成功”,那就太好了,但我想您遇到了静态绑定,需要使用PHP 5.3 中引入的后期静态绑定。
那不会成功——你不能有一个抽象的静态函数。查看已接受的答案为什么 PHP 5.2+ 不允许抽象静态类方法?有关原因的详细信息。
我的猜测是您可能正在尝试从该类实例化一个对象。
你不能。这是一个abstract
类。子类化它,然后实例化它。