我正在尝试做这样的事情,但我没有成功。
abstract class Animal
{
abstract static function getName();
static function sayName() { echo self::getName(); }
}
谢谢!
答案 0 :(得分:7)
你有两个问题:
答案 1 :(得分:6)
如果您已经提示如何您“没有成功”,那会很不错,但我认为您遇到了静态绑定并且需要使用{{ 3}}在PHP 5.3中引入。
答案 2 :(得分:1)
我的猜测可能是你试图从该类中实例化一个对象。
你不能。这是一个abstract
类。对它进行子类化,然后实例化它。
答案 3 :(得分:1)
那不会成功 - 你不能拥有抽象的静态函数。有关原因的详细信息,请参阅接受的答案Why does PHP 5.2+ disallow abstract static class methods?。