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;
}
}
constructorにnameとageを設定します。
ts
class ProfileWithAddress extends Profile {
address: string;
constructor(name: string, age: number, address: string) {
name;
age;
this.address = address;
}
}
すると、
『派生クラスのコンストラクターには 'super' の呼び出しを含める必要があります。』というエラーが発生します。
nameとageをsuperで囲みます。
ts
class ProfileWithAddress extends Profile {
address: string;
constructor(name: string, age: number, address: string) {
super(name, age);
this.address = address;
}
}
エラーが解除されました。
ProfileWithAddressを使って、tanakaを作成してみましょう。
ts
const tanaka = new ProfileWithAddress("田中", 23, "埼玉県");
console.log()で確認すると、
nameとageが継承されました。
お知らせ
私事ですが、Udemyで初心者を対象にしたReactの動画コースを作成しました。
Reactについて興味がありましたら、ぜひ下のリンクからアクセスしてください。
詳しくはこちら(Udemyの外部サイトへ遷移します)