0

可能重复:
为什么 PHP 5.2+ 不允许抽象静态类方法?
为什么不能在 PHP 中从抽象类中调用抽象函数?

我在PHP 5.3.8上运行此代码:

abstract class Geometry
{
    abstract public static function fromArray(array $array);
}

class Point extends Geometry
{
    public static function fromArray(array $point)
    {
        return new self($point[0], $point[1]);
    }
}

并收到以下错误:

严格标准:静态函数 Geometry::fromArray() 不应该是抽象的

  • 这种方法有什么问题?
  • 强制具体类实现此工厂方法的任何可行替代方案?
4

1 回答 1

1

你能让 Geometry 成为一个接口,并让 Point 实现它吗?

于 2011-12-05T20:10:48.847 回答