Senior
super() funksiyasi haqida gapir va uni qachon ishlatasan?
sobes.tech AI
AIdan javob
super() funksiyasi sinflarda ota-ona sinfning konstruktorini yoki ota-ona metodlarini chaqirish uchun ishlatiladi.
U ikki asosiy holatda qo'llaniladi:
-
Farzand sinfning konstruktorida, asosiy sinfning konstruktorini chaqirish va meros qilib olingan xususiyatlarni to'g'ri boshlash uchun.
-
Ota-ona metodlarini chaqirish uchun, agar xulq-atvorni kengaytirish yoki ustunlik qilish kerak bo'lsa, ammo asosiy sinfning qismi mantiqini saqlab qolish uchun.
Misol:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} tovush chiqaradi.`);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name); // Animal konstruktorini chaqirish
this.breed = breed;
}
speak() {
super.speak(); // Animal'dan speak metodini chaqirish
console.log(`${this.name} xayqiraydi.`);
}
}
Farzand sinfning konstruktorida super() chaqirmaslik xatolik bo'ladi, chunki asosiy sinf initsializatsiya qilinmagan bo'ladi.