Code Fix

中級Cannot instantiate abstract class の原因と直し方 › パターン2

Cannot instantiate abstract class の原因と直し方

abstractを付けたクラスは、そのままnewしてインスタンス化することができません。

 1  <?php
 2  abstract class Animal {
 3      abstract public function speak(): string;
 4  }
 5  class Dog extends Animal {
 6      public function speak(): string { return "Woof"; }
 7  }
 8  $a = new _____________();
                   ^
 9  echo $a->speak();
Fatal error: Uncaught Error: Cannot instantiate abstract class Animal in main.php:8

空欄を埋めて実行を通す

広告
広告スロット(未設定)

Cannot instantiate abstract class の原因と直し方

abstractクラスはサブクラスに実装させるための設計図であり、必ず継承先のクラスを使う必要があります。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)