重複の可能性:
なぜ 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() は抽象化すべきではありません
- このアプローチの何が問題なのですか?
- 具象クラスにこのファクトリメソッドを強制的に実装するための実行可能な代替手段はありますか?