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:
class 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:
class Student extends User {
}
Pieņemsim, ka mēs gribam bērna klasē paplašināt konstruktoru, pievienojot tam papildu parametrus:
class Student extends User {
constructor(name, surn, year) {
}
}
Šajā gadījumā mums obligāti jāizsauc
vecāka konstruktors caur super
kā pirmā rinda:
class 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:
class 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ā:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
}
Izveidosim getteri mācību gadam:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
getYear() {
return this.year;
}
}
Pieņemsim, ka klase Employee manto
no klases User no šīs
nodarbības.
Pārrakstiet klasē Employee
vecāka konstruktoru, pievienojot tam
parametru ar vecumu un algu.
Izveidojiet getterus vecumam un algai.