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:
class 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:
class Student extends User {
}
Supozoni se në klasën e pasardhës duam të zgjerojmë konstruktorin, duke shtuar parametra shtesë:
class 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:
class 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:
class 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:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
}
Le të bëjmë një getter për vitin e studimit:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
getYear() {
return this.year;
}
}
Le të themi se klasa Employee trashëgon
nga klasa User nga ky
mësim.
Rishkruani në klasën Employee
konstruktorin e prindit, duke shtuar në të
parametra për moshën dhe pagën.
Bëni getter për moshën dhe pagën.