Konstruktors mantojumā OOP JavaScript

Mantojot var pārrakstīt vecāka konstruktoru. Apskatīsim piemērā. Pieņemsim, ka mums ir šāda vecāka klase:

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

Pieņemsim, ka no vecāka klases manto šāda klase:

javascriptclass Student extends User {
  
}

Pieņemsim, ka mēs gribam bērna klasē paplašināt konstruktoru, pievienojot tam papildu parametrus:

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

Šajā gadījumā mums obligāti jāizsauc vecāka konstruktors caur super kā pirmā rinda:

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

Komanda super būtībā ir vecāka konstruktors. Tāpēc padodim tajā nepieciešamos parametrus:

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

Tagad bērna klasē mācību gadu ierakstīsim bērna paša īpašumā:

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

Izveidosim getteri mācību gadam:

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

Pieņemsim, ka klase Employee manto no klases User no šīs nodarbības.

Задание 2

Pārrakstiet klasē Employee vecāka konstruktoru, pievienojot tam parametru ar vecumu un algu.

Задание 3

Izveidojiet getterus vecumam un algai.