OOP-da JavaScript-de ene-klassyň usullaryny üýtgetmek

Miras alyjy klas, eýný atly usul döredip, ene-klasynyň usulynyň üstüne ýazyp biler. Mysala seredeliň. Bizde şeýle ene-klas bardyr diýeliň:

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

Geliň miras alyjy klasda eýný atly usul döredeliň:

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

Adatça, ene-klas usullarynyň üstüne ýazmak, şol usulyň işini üýtgetmek ýa-da goşmaça işlerini ýerine ýetirmek üçin gerek bolýar. Bizde bolsa, atyň uzynlygyny barlagyny goşalyň:

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

Indi, hakykatdanam üstüne ýazylyş usulynyň çaýrylýandygyna göz ýetireliň. Ilki bilen, miras alyjy klasyň obyektini döredeliň:

javascriptlet student = new Student;

Indi, usulymyzy dogry baha berip çaýyralyň:

javascriptstudent.setName('john');

Indi bolsa, usuly nädogry baha berip çaýyralyň. Netijede, konsolda ýüze çykan ýalňyşlygy göreris:

javascriptstudent.setName(''); // ýalňyşlyk
Задание 1

User klasynda ýaş üçin getter we setter düzüň.

Задание 2

Employee klasynda ýaş setteriniň üstüne ýazyň we onuň içinde ýaşyň 18-den 65 ýaşa çenli durandygyny barlaň.