Sobes.tech
Senior

super() функциясы жөнүндө айтып бер жана аны качан колдоносуң?

sobes.tech AI

AIден жооп

super() функциясы классларда ата-ана классинин конструкторун же ата-ана методдорун чакыруу үчүн колдонулат.

Ал эки негизги учурда колдонулат:

  1. Түзүүчү класстын конструкторунда, негизги класс конструкторун чакырып, мурас алган өзгөчөлүктөрдүн туура башталуусун камсыз кылуу үчүн.

  2. Ата-эне методдорун чакыруу үчүн, эгер жүрүм-турумду кеңейтүү же кайра жазуу керек болсо, бирок негизги класс логикасынын бир бөлүгүн сактоо менен.

Мисал:

class Animal {
  constructor(name) {
    this.name = name;
  }
  speak() {
    console.log(`${this.name} үн чыгарат.`);
  }
}

class Dog extends Animal {
  constructor(name, breed) {
    super(name); // Animal конструкторун чакыруу
    this.breed = breed;
  }
  speak() {
    super.speak(); // Animal'дын `speak` методуна чакыруу
    console.log(`${this.name} чычкайт.`);
  }
}

Кичүү класстын конструкторунда super() чакырылбаса, ката чыгат, анткени негизги класс башталган эмес.