Override Metode Parent dalam OOP JavaScript

Kelas turunan dapat mengoverride metode parent dengan membuat metode dengan nama yang sama. Mari kita lihat contohnya. Misalkan kita memiliki kelas parent berikut:

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

Mari kita buat metode dengan nama yang sama di kelas turunan:

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

Biasanya, override metode parent diperlukan untuk mengubah atau menambah perilaku metode tersebut. Dalam kasus kita, mari tambahkan pengecekan panjang nama:

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

Mari pastikan bahwa yang dipanggil adalah metode yang sudah dioverride. Pertama, buat objek kelas turunan:

javascriptlet student = new Student;

Sekarang panggil metode kita, berikan nilai yang benar:

javascriptstudent.setName('john');

Sekarang panggil metode, berikan nilai yang tidak benar. Hasilnya, kita akan melihat error yang dilempar di konsol:

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

Di kelas User buatlah getter dan setter untuk usia.

Задание 2

Di kelas Employee override setter usia dan buatlah di dalamnya pengecekan bahwa usia antara 18 hingga 65 tahun.