Sobes.tech
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:

  1. Farzand sinfning konstruktorida, asosiy sinfning konstruktorini chaqirish va meros qilib olingan xususiyatlarni to'g'ri boshlash uchun.

  2. 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.