JavaScriptのOOPにおける継承時のコンストラクタ

継承時には、親のコンストラクタをオーバーライドすることができます。 例を見てみましょう。次の親クラスがあるとします:

javascriptclass User {
  constructor(name, surn) {
    this.name = name;
    this.surn = surn;
  }
  
  getName() {
    return this.name;
  }
  getSurn() {
    return this.surn;
  }
}

親クラスを継承する次のクラスがあるとします:

javascriptclass Student extends User {
  
}

子クラスでコンストラクタを拡張し、 追加のパラメータを持たせたいとします:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    
  }
}

この場合、最初の行で super を通じて 親のコンストラクタを呼び出す必要があります:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super();
  }
}

super コマンドは本質的に親のコンストラクタです。 したがって、必要なパラメータを渡します:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
  }
}

次に、子クラスで学習年度を子クラス独自のプロパティに記録します:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
    this.year = year;
  }
}

学習年度のゲッターを作成します:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
    this.year = year;
  }
  
  getYear() {
    return this.year;
  }
}
Задание 1

クラス Employee がこのレッスンの クラス User を継承しているとします。

Задание 2

クラス Employee で親のコンストラクタをオーバーライドし、 年齢と給与のパラメータを追加してください。

Задание 3

年齢と給与のゲッターを作成してください。