Ufupishaji wa Njia za Mzazi katika OOP katika JavaScript

Darasa la mtoto linaweza kufupisha njia ya mzazi, kwa kuunda njia kwa jina sawa. Hebu tuangalie kwa mfano. Hebu tuwe na darasa la mzazi lifuatalo:

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

Hebu katika darasa la mtoto tuunde njia yenye jina moja:

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

Kwa kawaida, ufupishaji wa njia za mzazi unahitajika ili kubadilisha au kuongeza tabia ya njia hiyo. Hebu katika kesi yetu tuongeze ukaguzi wa urefu wa jina:

javascriptclass Student extends User {
  setName(name) {
    if (name.length > 0) {
      this.name = name;
    } else {
      throw new Error('kosa la jina la mwanafunzi');
    }
  }
}

Hebu tuhakikishe kwamba ndio njia iliyofupishwa inaitwa. Kwanza tuunde kitu cha darasa la mtoto:

javascriptlet student = new Student;

Sasa tuite njia yetu, tukipitisha thamini sahihi ndani yake:

javascriptstudent.setName('john');

Sasa tuite njia, tukipitisha thamini isiyo sahihi ndani yake. Kama matokeo tutaona kosa lililotupwa kwenye konsoli:

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

Katika darasa User fanyeni kipataji na kiwekeji cha umri.

Задание 2

Katika darasa Employee fupisha kiwekeji cha umri na fanya ndani yake ukaguzi wa kwamba umri ni kutoka 18 hadi 65 miaka.