OOP-də JavaScript-də Miras zamanı Konstruktor

Miras zamanı valideynin konstruktorunu yenidən təyin edə bilərsiniz. Nümunəyə baxaq. Tutaq ki, bizim aşağıdakı valideyn sinfimiz var:

javascriptclass User {
  constructor(name, surn) {
    this.name = name;
    this.surn = surn;
  }
  
  getName() {
    return this.name;
  }
  getSurn() {
    return this.surn;
  }
}

Tutaq ki, valideyn sinfindən aşağıdakı sinif miras alır:

javascriptclass Student extends User {
  
}

Tutaq ki, biz miras alan sinifdə konstruktoru genişləndirmək, ona əlavə parametrlər əlavə etmək istəyirik:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    
  }
}

Bu halda, mütləq olaraq ilk sətirdə valideyn konstruktorunu super vasitəsilə çağırmalıyıq:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super();
  }
}

super əmri mahiyyət etibarilə valideynin konstruktorudur. Ona lazımi parametrləri ötürək:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
  }
}

İndi miras alan sinifdə təhsil ilini miras alanın öz xüsusiyyətinə yazaq:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
    this.year = year;
  }
}

Təhsil ili üçün getter edək:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
    this.year = year;
  }
  
  getYear() {
    return this.year;
  }
}
Задание 1

Tutaq ki, Employee sinfi bu dərsdəki User sinfindən miras alır.

Задание 2

Employee sinfində valideyn konstruktorunu yaş və maaş parametri əlavə etməklə yenidən təyin edin.

Задание 3

Yaş və maaş üçün getterlər edin.