Code Fix

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

Cannot instantiate abstract class の原因と直し方

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

 1  <?php
 2  abstract class Beverage {
 3      abstract public function brew(): string;
 4  }
 5  class Coffee extends Beverage {
 6      public function brew(): string { return "Hot"; }
 7  }
 8  $b = new _______________();
                    ^
 9  echo $b->brew();
Fatal error: Uncaught Error: Cannot instantiate abstract class Beverage in main.php:8

空欄を埋めて実行を通す

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

Cannot instantiate abstract class の原因と直し方

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

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

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