Code Fix

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

Cannot instantiate abstract class の原因と直し方

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

 1  <?php
 2  abstract class Shape {
 3      abstract public function area(): float;
 4  }
 5  class Circle extends Shape {
 6      public function area(): float { return 3.14; }
 7  }
 8  $s = new ____________();
                   ^
Fatal error: Uncaught Error: Cannot instantiate abstract class Shape in main.php:8

空欄を埋めて実行を通す

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

Cannot instantiate abstract class の原因と直し方

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

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

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