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(); // даъвати методи speak аз Animal
console.log(`${this.name} хазон мекунад.`);
}
}
Бе даъвати super() дар конструктори синфи фарзанд, хато ба амал меояд, зеро синфи асосӣ инициализатсия нашудааст.