Konstruktori në Trashëgiminë në OOP në JavaScript

Gjatë trashëgimisë, mund të rishkruani konstruktorin e prindit. Le të shohim një shembull. Le të themi se kemi klasën e mëposhtme prind:

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

Le të themi se nga klasa prind trashëgohet klasa e mëposhtme:

javascriptclass Student extends User {
  
}

Supozoni se në klasën e pasardhës duam të zgjerojmë konstruktorin, duke shtuar parametra shtesë:

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

Në këtë rast, ne duhet patjetër që në rreshtin e parë të thirrim konstruktorin e prindit përmes super:

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

Komanda super në thelb është konstruktori i prindit. Prandaj, le t'i kalojmë atij parametrat e kërkuar:

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

Tani në pasardhës, vitin e studimit do ta shkruajmë në vetinë e vet të pasardhësit:

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

Le të bëjmë një getter për vitin e studimit:

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

Le të themi se klasa Employee trashëgon nga klasa User nga ky mësim.

Задание 2

Rishkruani në klasën Employee konstruktorin e prindit, duke shtuar në të parametra për moshën dhe pagën.

Задание 3

Bëni getter për moshën dhe pagën.