Szülő osztály metódusainak felülírása az OOP-ban JavaScriptben

Egy leszármazott osztály felülírhatja a szülő metódusát egy azonos nevű metódus létrehozásával. Nézzünk egy példát. Tegyük fel, hogy a következő szülő osztályunk van:

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

Hozzunk létre egy azonos nevű metódust a leszármazott osztályban:

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

Általában a szülő metódusok felülírása azért szükséges, hogy a metódus viselkedését megváltoztassuk vagy kiegészítsük. Esetünkben adjunk hozzá egy ellenőrzést a név hosszára:

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

Győződjünk meg arról, hogy a felülírt metódus hívódik meg. Először hozzunk létre egy objektumot a leszármazott osztályból:

javascriptlet student = new Student;

Most hívjuk meg a metódusunkat, átadva neki egy helyes értéket:

javascriptstudent.setName('john');

Most hívjuk meg a metódust, átadva neki egy helytelen értéket. Ennek eredményeképpen a konzolban egy kivételt látunk:

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

A User osztályban készítsen kor gettert és settert.

Задание 2

A Employee osztályban írja felül a kor settert és végezzen benne ellenőrzést, hogy a kor 18 és 65 év között legyen.