شرح صفوف ومحتوى الفقرة
يستطيع الصنف الفرعي تعريف دالة تحمل نفس اسم دالة الأب من أجل تخصيص سلوكها. وبدلاً من إعادة كتابة كود الأب من الصفر، يمكن للدالة الفرعية استدعاء super.methodName(...) لتنفيذ منطق الأب الأصلي ثم البناء فوق نتيجته:
| الصيغة البرمجية | موضع الاستخدام | الأثر أثناء التنفيذ |
|---|---|---|
class B extends A | رأس تعريف الصنف | يربط B.prototype لتفويض البحث عن الدوال إلى A.prototype |
super(arg1, arg2) | باني الصنف الابن | يشغل باني الأب ويهيئ مرجع النسخة this |
super.describe() | دالة أو get في الابن | يستدعي دالة الأب مرتبطةً بالكائن الابن الحالي this |
إحلال كامل بدون super | دالة في الصنف الابن | يستبدل سلوك الأب بالكامل لنسخ الصنف الفرعي B |
JavaScript
class Logger {
format(msg) { return `[INFO] ${msg}`; }
}
class AuditLogger extends Logger {
format(msg) {
return `${super.format(msg)} (verified)`;
}
}
const log = new AuditLogger();
document.getElementById('sup-out').textContent =
log.format('Session started');