قيود on وترتيب Mixins
قيّد Mixins ورتّبها بشكل صحيح
قيود on وترتيب Mixins درس مجاني في Dart Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Dart Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Dart Academy 4 دروس في المجموع.
Mixins ذات متطلبات
أحيانًا لا يكون mixin مناسبًا إلا لفئات معينة. يتيح لك Dart وضع هذه القاعدة باستخدام قيد on، بحيث يُكتشف سوء الاستخدام مبكرًا. 🔒
الكلمة المفتاحية on
تقيّد إضافة on SomeType المواضع التي يمكن تطبيق mixin فيها. ولا يمكن استخدامه إلا مع الفئات التي ترث من ذلك النوع أو تطبّقه.
mixin Walker on Animal {
void walk() => print('Walking');
}لماذا نقيّد Mixin؟
يضمن القيد أن mixin يستطيع بأمان استدعاء أعضاء النوع الأساسي. ويصبح نوع on متاحًا داخل طرق mixin.
mixin Walker on Animal {
void move() => breathe();
}يُفرض وقت الترجمة
حاول دمج Walker في فئة ليست Animal، وسيرفض Dart ترجمة الشيفرة. يحميك القيد قبل وقت التشغيل.
استدعاء super في Mixins
يمكن لـ mixin المقيّد استدعاء super لطرق النوع الأساسي. ويتيح له ذلك تغليف السلوك الذي يعرف أنه موجود أو توسيعه.
mixin Logged on Animal {
@override
void speak() { print('log'); super.speak(); }
}الترتيب مهم
عند إدراج عدة mixins، يطبّقها Dart من اليسار إلى اليمين. ويُضاف كل واحد فوق السابق، لتكوين سلسلة خطية.
class C extends Base with A, B {}
// order: Base, then A, then Bالتسلسل الخطي
يبسّط Dart الفئة وmixins الخاصة بها في خط مرتب واحد يُسمى التسلسل الخطي. ويحدد هذا الترتيب الطريقة الفائزة عند تعارض الأسماء.
يفوز Mixin الأخير
إذا عرّف mixins اثنان الطريقة نفسها، فالأولوية تكون للمُدرج أخيرًا. غيّر ترتيب قائمة with، وسيتغير التنفيذ الفائز.
class C with A, B {}
// B's version overrides A'sيتنقل super عبر السلسلة
يشير super داخل mixin إلى العضو التالي في السلسلة ذات الترتيب الخطي، وليس إلى الفئة الأصلية. وهكذا تتعاون mixins المتراكبة.
تراكم السلوك
من خلال تسلسل استدعاءات super، يمكن لعدة mixins أن يضيف كل منها خطوة حول طريقة واحدة. وهكذا تبني سلوكًا طبقيًا، مثل البرمجيات الوسيطة حول إجراء أساسي.
الترتيب أداة تصميم
اختر ترتيب mixins بعناية، لأنه يتحكم في التجاوزات وتدفق super. وتعامل مع قائمة with باعتبارها تسلسلًا ذا معنى، لا ترتيبًا عشوائيًا.
تحقق سريع
يعرّف mixins اثنان الطريقة نفسها. أيهما سيُنفذ؟
مراجعة
قيّدت mixins باستخدام on، وتعلمت أن الترتيب يكون من اليسار إلى اليمين، ورأيت كيف يحدد التسلسل الخطي وsuper الطريقة الفائزة. 🎯
الأسئلة الشائعة
هل درس «قيود on وترتيب Mixins» مجاني؟
نعم — نص درس «قيود on وترتيب Mixins» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Dart Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Dart Academy 4 دروس في المجموع.
ماذا ستتعلم في «قيود on وترتيب Mixins»؟
قيّد Mixins ورتّبها بشكل صحيح تتمرن على Dart Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Dart Academy؟
لا تُشترط خبرة سابقة. Dart Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «قيود on وترتيب Mixins»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Dart Academy هذا؟
نعم. كل درس في Dart Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- extends وتجاوز الطرق
- استدعاء super وتسلسل البنّاءات
- Mixins باستخدام الكلمة المفتاحية with
- قيود on وترتيب Mixins