Konstruktør ved arv i OOP i JavaScript

Ved arv kan du overstyre forelderens konstruktør. La oss se på et eksempel. La oss si at vi har følgende forelderklasse:

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

La oss si at følgende klasse arver fra forelderklassen:

javascriptclass Student extends User {
  
}

La oss si at vi i barneklassen ønsker å utvide konstruktøren, ved å legge til flere parametere:

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

I dette tilfellet må vi på første linje kalle forelderens konstruktør via super:

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

Kommandoen super er i hovedsak forelderens konstruktør. Derfor sender vi inn de nødvendige parameterne:

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

Nå kan vi i barnet skrive studieåret inn i barnets egen egenskap:

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

La oss lage en getter for studieåret:

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

La klassen Employee arve fra klassen User fra denne leksjonen.

Задание 2

Overstyr i klassen Employee forelderens konstruktør, og legg til parametere for alder og lønn.

Задание 3

Lag gettere for alder og lønn.