我作爲一個抽象的數據庫類名爲:PHP:致命錯誤:無法實例化抽象類
abstract class database {
protected $value;
}
我創造了另一個抽象類
abstract class my_database extends database {
public function set_value($value) {
$this->value = $value;
}
}
當我嘗試使用它:
$my_db = new my_database();
我得到的錯誤:
Fatal error: Cannot instantiate abstract class my_database in ...
我所要做的是:抽象類數據庫有一個受保護的$值,我想創建一個包裝類,以便能夠更改受保護的值(臨時)。
我該怎麼做?
EDIT1:不幸的是更早的時候,我嘗試沒有抽象MY_DATABASE,我得到了錯誤:
- abstract methods and must therefore be declared abstract or implemented
- Abstract function cannot contain body
EDIT2: 從MY_DATABASE取出抽象的詞完全後,我得到了以下錯誤:
Fatal error: Class my_database contains 32 abstract methods and must therefore be declared abstract or implement the remaining methods
我該如何解決這個問題?
你不能調用'new(abstract class)'。在這個用例中,'my_database'不應該是抽象的。 – rickdenhaan
定義爲抽象的類可能不會被實例化http://php.net/manual/en/language.oop5.abstract.php –
抽象類不能被實例化,但它們可以被分類。 –