JavaScriptのOOPにおける親メソッドのオーバーライド

子クラスは、同じ名前のメソッドを作成することで 親のメソッドをオーバーライドすることができます。 例を見てみましょう。以下の親クラスがあるとします:

javascriptclass User {
  setName(name) {
    this.name = name;
  }
  getName() {
    return this.name;
  }
}

子クラスで同名のメソッドを作成しましょう:

javascriptclass Student extends User {
  setName(name) {
    
  }
}

通常、親メソッドのオーバーライドは、 そのメソッドの動作を変更または追加するために行われます。 このケースでは、名前の長さのチェックを追加してみましょう:

javascriptclass Student extends User {
  setName(name) {
    if (name.length > 0) {
      this.name = name;
    } else {
      throw new Error('student name error');
    }
  }
}

オーバーライドされたメソッドが呼び出されていることを確認しましょう。 まず、子クラスのオブジェクトを作成します:

javascriptlet student = new Student;

次に、適切な値を渡してこのメソッドを呼び出します:

javascriptstudent.setName('john');

今度は、不適切な値を渡してメソッドを呼び出します。 結果として、コンソールにスローされたエラーが表示されます:

javascriptstudent.setName(''); // エラー
Задание 1

Userクラスで、 年齢のゲッターとセッターを作成してください。

Задание 2

Employeeクラスで 年齢のセッターをオーバーライドし、 年齢が18歳から65歳までのチェックを追加してください。