をインスタンス化することはできません私はという名前抽象データベースクラスがあります。私はそれを使用しようとすると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(抽象クラス)'を呼び出すことはできません。このユースケースでは、 'my_database'は抽象的であってはなりません。 – rickdenhaan
抽象クラスはインスタンス化できませんhttp://php.net/manual/en/language.oop5.abstract.php –
抽象クラスはインスタンス化できませんが、サブクラス化することができます。 –