【TypeScript】抽象クラスとは何ですか?
TypeScript

【TypeScript】抽象クラスとは何ですか?

作成日:2021年08月18日
更新日:2021年08月18日

実装を含まないクラスを作成したい場合、抽象クラスを使います。

書き方は、クラスの前に、『abstract』を追加します。

ts
abstract class Profile {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
}

試しに、Profile クラスを使ってオブジェクトを作ってみます。

ts
const tanaka = new Profile("田中", 23);

image2

エラーが発生し、『抽象クラスのインスタンスは作成できません。』と指摘されました。

抽象クラスは、自分で実装できないので、必ず継承する必要があります。

ts
class ProfileWithAddress extends Profile {
address: string;
constructor(name: string, age: number, address: string) {
super(name, age);
this.address = address;
}
}

オブジェクトを作ってみましょう。

ts
const tanaka = new ProfileWithAddress("田中", 23, "埼玉県");

image3

エラーがなくなりました。

© 2024あずきぱんウェブスタジオ