انتقل إلى محتوى الدرس

Overriding and Extending Methods تخصيص وتوسعة دوال الأب

أتقن وراثة الأصناف في JavaScript عبر extends وsuper: هيئ باني الأب بأمان، وخصص الدوال الموروثة ووسعها، وتعرف على حدود الحقول الخاصة وتعدد الأشكال بـ instanceof.
3 صفوف تعليمية
جافا سكريبت
3,046 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يستطيع الصنف الفرعي تعريف دالة تحمل نفس اسم دالة الأب من أجل تخصيص سلوكها. وبدلاً من إعادة كتابة كود الأب من الصفر، يمكن للدالة الفرعية استدعاء super.methodName(...) لتنفيذ منطق الأب الأصلي ثم البناء فوق نتيجته:

الصيغة البرمجيةموضع الاستخدامالأثر أثناء التنفيذ
class B extends Aرأس تعريف الصنفيربط B.prototype لتفويض البحث عن الدوال إلى A.prototype
super(arg1, arg2)باني الصنف الابنيشغل باني الأب ويهيئ مرجع النسخة this
super.describe()دالة أو get في الابنيستدعي دالة الأب مرتبطةً بالكائن الابن الحالي this
إحلال كامل بدون superدالة في الصنف الابنيستبدل سلوك الأب بالكامل لنسخ الصنف الفرعي B
الصف 2 كود برمجي
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');
الصف 3 ملاحظة هامة