【TypeScript】継承とは何ですか?
TypeScript

【TypeScript】継承とは何ですか?

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

Profileクラスがあったとします。

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

Profileクラスを基に、新しいクラスを作成するには、extendsを使用してProfileクラスを継承します。

ProfileWithAddressクラスを作成したいとします。

ts
class ProfileWithAddress {
address: string;
constructor(address: string) {
this.address = address;
}
}

クラス名の後に、『extends Profile』と書きます。

ts
class ProfileWithAddress extends Profile {
address: string;
constructor(address: string) {
this.address = address;
}
}

constructornameageを設定します。

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

すると、

image2

『派生クラスのコンストラクターには 'super' の呼び出しを含める必要があります。』というエラーが発生します。

nameagesuperで囲みます。

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

image3

エラーが解除されました。

ProfileWithAddressを使って、tanakaを作成してみましょう。

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

console.log()で確認すると、

image4

nameageが継承されました。

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