Dev Study
TypeScript コース

59. abstract — 抽象クラス

abstract を付けたクラスは「それ自体は new できない、継承されるための土台」になります。abstract を付けたメソッドは名前と型だけを書き、中身は継承した子クラスが必ず実装します。実装し忘れると子クラスの定義時点でエラーになります。

実務では「処理の流れは共通だが、一部だけクラスごとに違う」場面で使います。共通部分は普通のメソッドとして親に実装しておき、違う部分だけ abstract にすれば、子クラスは差分だけを書けばよくなります。

interface との違いに迷いがちですが、interface が「型の約束だけ」なのに対し、抽象クラスは実装済みのメソッドも一緒に持てます。約束だけなら interface、共通実装も配りたいなら抽象クラス、と使い分けましょう。

▶ サンプルコードを実行してみよう(自由に書き換えてOK)

TypeScript
サンプルコードで身につける(5本) →

学んだ概念を、素朴な例から実務寄りの例まで5つの具体例で確認します。

公式ドキュメントで詳しく ↗