Dev Study
TypeScript コース

58. クラスの継承 extends

class Dog extends Animal のように extends を使うと、親クラスのプロパティとメソッドをすべて引き継いだクラスを作れます。子クラスに独自のコンストラクタを書く場合は、その先頭で super(...) を呼んで親のコンストラクタを実行するのが決まりです。

実務では、共通の機能を親クラスにまとめ、差分だけを子クラスに書くために使います。たとえばアプリ独自のエラークラスを1つ作り、それを継承して「認証エラー」「入力エラー」と種類別のクラスを増やしていく形がよくあります。

つまずきポイントは super の扱いです。子クラスにコンストラクタを書いたのに super を呼ばない、または super より前に this に触るとコンパイルエラーになります。また implements が「型の約束の検査だけ」なのに対し、extends は実装ごと引き継ぐ点も整理しておきましょう。

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

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

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

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