Rishikimi i Metodave të Prindit në OOP në JavaScript

Klasa e pasardhës mund të rishikojë metodën e prindit duke krijuar një metodë me të njëjtin emër. Le të shohim më një shembull. Le të themi se kemi këtë klasë prind:

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

Le të krijojmë një metodë me të njëjtin emër në klasën e pasardhës:

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

Në përgjithësi, rishikimi i metodave të prindit është i nevojshëm për të ndryshuar ose plotësuar sjelljen e kësaj metode. Në rastin tonë, le të shtojmë një kontroll të gjatësisë së emrit:

javascriptclass Student extends User {
  setName(name) {
    if (name.length > 0) {
      this.name = name;
    } else {
      throw new Error('gabim në emrin e studentit');
    }
  }
}

Le të sigurohemi që thirret pikërisht metoda e rishikuar. Së pari le të krijojmë një objekt të klasës së pasardhës:

javascriptlet student = new Student;

Tani le të thërrasim metodën tonë, duke i kaluar asaj një vlerë korrekte:

javascriptstudent.setName('john');

Tani le të thërrasim metodën, duke i kaluar asaj një vlerë të pasakta. Si rezultat do të shohim në konsol gabimin e hedhur:

javascriptstudent.setName(''); // gabim
Задание 1

Në klasën User bëni getter dhe setter për moshën.

Задание 2

Në klasën Employee rishikoni setter për moshën dhe bëni në të kontrollin që mosha të jetë nga 18 deri në 65 vjet.