JavaScriptda OOPda meros olishda konstruktor
Meros olish paytida ota-ona konstruktorini qayta belgilash mumkin. Keling, misol orgali ko'rib chiqaylik. Faraz qilaylik, bizda quyidagi ota-ona klass mavjud:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
getName() {
return this.name;
}
getSurn() {
return this.surn;
}
}
Faraz qilaylik, ota-ona klassidan quyidagi klass meros bo'lib qoladi:
class Student extends User {
}
Faraz qilaylik, biz voris klassda konstruktorni kengaytirishni, unga qo'shimcha parametrlar qo'shishni xohlaymiz:
class Student extends User {
constructor(name, surn, year) {
}
}
Bunday holda, biz birinchi qator sifatida
super orqali ota-ona konstruktorini
chaqirishimiz shart:
class Student extends User {
constructor(name, surn, year) {
super();
}
}
super buyrug'i aslida
ota-ona konstruktoridir. Shuning uchun
unga kerakli parametrlarni uzatamiz:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
}
}
Endi vorisda o'quv yilini vorisning o'z xususiyatiga yozamiz:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
}
Keling, o'quv yili uchun getter yaratamiz:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
getYear() {
return this.year;
}
}
Faraz qilaylik, Employee klassi
ushbu darsdagi User klassidan
meros bo'lib qoladi.
Employee klassida
ota-ona konstruktorini qayta belgilang, unga
yosh va maosh parametrlarini qo'shing.
Yosh va maosh uchun getterlar yarating.