Vecāku metožu pārrakstīšana OOP JavaScript

Bērnu klase var pārrakstīt vecāka metodi, izveidojot metodi ar tādu pašu nosaukumu. Apskatīsim piemērā. Pieņemsim, ka mums ir šāda vecāku klase:

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

Izveidosim bērnu klasē tādas pašas metodes:

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

Parasti vecāka metodes pārrakstīšana ir nepieciešama, lai mainītu vai papildinātu šīs metodes darbību. Mūsu gadījumā pievienosim vārda garuma pārbaudi:

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

Pārliecināsimies, ka tiek izsaukta tieši pārrakstītā metode. Vispirms izveidosim objektu bērnu klases:

javascriptlet student = new Student;

Tagad izsauksim mūsu metodi, padodot tai korektu vērtību:

javascriptstudent.setName('john');

Un tagad izsauksim metodi, padodot tai nekorektu vērtību. Rezultātā konsolē redzēsim izmesto kļūdu:

javascriptstudent.setName(''); // kļūda
Задание 1

Klasē User izveidojiet vecuma getter un setter.

Задание 2

Klasē Employee pārrakstiet vecuma setter un izveidojiet tajā pārbaudi, ka vecums ir no 18 līdz 65 gadiem.