Code Fix

中級abstractクラスを直接newした原因と直し方 › パターン2

abstractクラスを直接newした原因と直し方

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

 1  abstract class Animal {
 2    abstract speak(): string;
 3  }
 4  class Dog extends Animal {
 5    speak(): string { return "woof"; }
 6  }
 7  const a = new ______();
                     ^
 8  console.log(a);
main.ts(7,11): error TS2511: Cannot create an instance of an abstract class.

空欄を埋めてコンパイルを通す

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

abstractクラスを直接newした原因と直し方

abstractクラスは「共通の骨組みだけを定義し、具体的な実装はサブクラスに任せる」ためのクラスです。

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

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