الفصل 10 — التغليف والوراثة وتعدد الأشكال
الجزء 1أ — تعلّم Dart · الفصل 10 من 62 · 7 ساعات
الفصل 10 — التغليف والوراثة وتعدد الأشكال
المستوى: متوسط المدة المقدّرة: 7 ساعات المتطلبات المسبقة: الفصل 09 — الباني (Constructors) والنمذجة ما ستتمكن من فعله في نهاية الفصل: حماية بيانات الفئة بأعضاء خاصة وبدوال getter وsetter مع التحقق من القيم، وبناء تسلسل هرمي للفئات باستخدام
extendsوsuper، وإعادة تعريف الدوال باستخدام@override، وكتابة شيفرة متعددة الأشكال تعالجPlayerوEnemyوBossبالطريقة نفسها.
10.0 — أهداف الفصل
في نهاية هذا الفصل ستكون قادرًا على:
- ذكر ركائز البرمجة كائنية التوجّه (POO) الثلاث التي يتناولها هذا الفصل؛
- شرح مفهوم التغليف بأسلوبك الخاص؛
- إظهار الخطر الناتج عن خاصية عامة يمكن تعديلها بأي طريقة بشكل ملموس؛
- التصريح عن عضو خاص باستخدام البادئة
_؛ - توضيح أن نطاق
_هو المكتبة (الملف) وليس الفئة؛ - كتابة getter يكشف قيمة للقراءة فقط؛
- كتابة setter يتحقق من القيمة قبل قبولها؛
- كتابة دوال خاصة مساعدة للاستخدام الداخلي؛
- بناء فئة
Playerمغلّفة بالكامل، بحيث تبقى الأرواح محصورة دائمًا بين 0 وحدّ أقصى؛ - شرح ما هي الوراثة وما فائدتها؛
- استخدام
extendsلإنشاء فئة فرعية؛ - تحديد ما يُورَّث وما لا يُورَّث بدقة؛
- استدعاء باني الفئة الأب باستخدام
super؛ - استدعاء دالة من الفئة الأب باستخدام
super.methode()؛ - إعادة تعريف (override) دالة موروثة؛
- استخدام التعليق التوضيحي
@overrideبشكل صحيح؛ - شرح تعدد الأشكال من خلال مثال؛
- المرور على
List<Character>تحتوي على كائناتPlayerوEnemy؛ - استخدام
isوasلاختبار النوع وتحويله؛ - بناء التسلسل الهرمي
Character → Player / Enemy / Boss؛ - التعرّف على الحالات التي تكون فيها الوراثة خيارًا سيئًا.
التعليقات
التعليقات مدعومة عبر GitHub Discussions
سجّل الدخول باستخدام GitHub للمشاركة في النقاش