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

class Profile {
  name: string;
  age: number;

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

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

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

class ProfileWithAddress {
  address: string

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

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

class ProfileWithAddress extends Profile
 {
  address: string

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

constructornameageを設定します。

class ProfileWithAddress extends Profile {
  address: string

  constructor(name: string, age: number, address: string) {
    name;
    age;
    this.address = address;
  }
}

すると、

image2

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

nameagesuperで囲みます。

class ProfileWithAddress extends Profile {
  address: string

  constructor(name: string, age: number, address: string) {
    super(name, age);
    this.address = address;
  }
}

image3

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

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

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

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

image4

nameageが継承されました。

ブログ一覧