Senior
Խոսիր super() ֆունկցիայի մասին և երբ ես այն օգտագործում:
sobes.tech AI
Պատասխան AI-ից
super() գործառույթը դասերում օգտագործվում է ծնողի դասի կոնստրուկտորին կամ ծնողի մեթոդներին կանչելու համար:
Այն հիմնականում կիրառվում է երկու հիմնական դեպքերում՝
-
Որդու դասի կոնստրուկտորում՝ ծնողի դասի կոնստրուկտորին կանչելու և ժառանգված հատկությունների ճիշտ սկզբնավորման համար:
-
Ծնողի մեթոդները կանչելու համար՝ եթե անհրաժեշտ է ընդլայնել կամ վերաշարադրել վարքագիծը, բայց միևնույն ժամանակ պահպանել հիմնական դասի մասի տրամաբանությունը:
Օրինակ՝
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() չկոչվի որդու դասի կոնստրուկտորում, սխալ կլինի, քանի որ հիմնական դասը չի սկսվել։