我試圖做這樣的事情,但我不成功。PHP:多態抽象靜態方法
abstract class Animal
{
abstract static function getName();
static function sayName() { echo self::getName(); }
}
謝謝!
我試圖做這樣的事情,但我不成功。PHP:多態抽象靜態方法
abstract class Animal
{
abstract static function getName();
static function sayName() { echo self::getName(); }
}
謝謝!
這本來是很好,如果你想給的提示,如何你「沒有成功」,但我想你是整個靜態綁定的絆腳石,需要使用late static bindings PHP 5.3中引入的。
我的猜測是你可能試圖從該類實例化一個對象。
你不能。這是一個abstract
類。子類化它,然後實例化它。
這將不會成功 - 你不能有一個抽象的靜態函數。有關詳情,請參閱接受的答案Why does PHP 5.2+ disallow abstract static class methods?。
你有兩個問題:
你怎麼樣沒有成功? – alex 2010-12-06 06:58:48