クラス・継承

クラス

class Animal {
  // コンストラクタは空のインスタンスが生成された直後に必ず実行される
  constructor(name, age) {
      this.name = name;
      this.age = age;
  }
  // クラス内で定義された関数をメソッドという
  info() {
      console.log('infoメソッドが呼び出されました');
  }
}

// インスタンスの生成
const animal = new Animal('Oliver', 8);

// メソッドの呼び出し
animal.info();

継承

class Dog extends Animal {
  // コンストラクタのオーバーライド
  constructor(name, age, breed) {
      super(name, age);
      this.breed = breed;
  }
  // メソッドのオーバーライド
  info() {
      console.log('上書きしました');
  }
  // 独自メソッドの追加
  getHumanAge(age) {
      console.log('人間の年齢でいうと○○歳です');
  }
}

const dog = new Dog('Nick', 9);

// 親クラスのメソッドを使える
dog.info();