0Pricing
Dart Academy · درس

Mixins باستخدام الكلمة المفتاحية with

أضف الإمكانات من دون وراثة أحادية

Mixins باستخدام الكلمة المفتاحية with درس مجاني في Dart Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Dart Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Dart Academy 4 دروس في المجموع.

ما بعد الآباء المنفردين

يمكن لفئة Dart أن ترث من أب واحد فقط، لكنك قد تحتاج غالبًا إلى إمكانات من عدة مصادر. يتيح لك mixin دمج سلوك إضافي بطريقة منظمة. 🧩

تعريف Mixin

تعرّف واحدًا باستخدام الكلمة المفتاحية mixin. وهو يشبه الفئة، لكنه مخصص للدمج في فئات أخرى وليس لإنشاء كائنات منه بمفرده.

mixin Swimmer {
  void swim() => print('Swimming');
}

الكلمة المفتاحية with

تطبّق mixin باستخدام with بعد تعريف الفئة. فتحصل الفئة فورًا على كل طريقة يعرّفها mixin.

class Fish with Swimmer {}
// Fish().swim() works

دمج عدة Mixins

افصل بين عدة mixins باستخدام الفواصل. يمكن للفئة دمج العديد من mixins في الوقت نفسه، بحيث يضيف كل منها جزءه الخاص من السلوك.

class Duck with Swimmer, Flyer {}

الجمع بين extends وwith

تعمل mixins إلى جانب الوراثة. اكتب extends أولًا لتحديد الأب الوحيد، ثم with لتحديد mixins التي تريد إضافتها طبقيًا.

class Duck extends Bird with Swimmer, Flyer {}

تحمل Mixins حالة

يمكن لـ mixin أن يحتوي على حقول أيضًا، وليس على طرق فقط. وتكتسب أي فئة تدمجه تلك الحالة باعتبارها جزءًا منها.

mixin Counter {
  int count = 0;
  void tick() => count++;
}

ليست مخصصة لإنشاء الكائنات

لا يمكنك كتابة new مع mixin خالص. فهو موجود فقط لدمجه في فئات فعلية، ولذلك يمنع Dart إنشاء كائنات منه مباشرةً.

إعادة الاستخدام عبر أشجار مختلفة

بخلاف الفئة الأب، يمكن إضافة mixin نفسه إلى فئات غير مرتبطة تمامًا. وبهذه الطريقة تشارك الشيفرة دون فرض انتماء إلى عائلة وراثية واحدة.

Mixins هي أنواع

تُعد الفئة التي دُمج فيها mixin أيضًا من نوع ذلك الـmixin. ويمكنك تخزين Fish في متغير من نوع Swimmer واستدعاء طرقه المشتركة.

Swimmer s = Fish();
s.swim();

التركيب بدلًا من الوراثة

تشجع mixins على تجميع إمكانات صغيرة ومركزة. فأنت تركّب السلوك من أجزاء قابلة لإعادة الاستخدام بدلًا من فرض تسلسل وراثة عميق.

حافظ على تركيز Mixins

ينفذ mixin الجيد مهمة واحدة بإتقان، مثل التسجيل أو التسلسل. وتتحد mixins الصغيرة أحادية الغرض بسلاسة دون تعارضات مفاجئة.

تحقق سريع

تذكّر كيف تُلحق mixin بفئة.

مراجعة

عرّفت mixin، وطبّقته باستخدام الكلمة المفتاحية with، ودمجت عدة mixins، وشاركت السلوك بين فئات غير مرتبطة. 🧩

الأسئلة الشائعة

هل درس «Mixins باستخدام الكلمة المفتاحية with» مجاني؟

نعم — نص درس «Mixins باستخدام الكلمة المفتاحية with» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Dart Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Dart Academy 4 دروس في المجموع.

ماذا ستتعلم في «Mixins باستخدام الكلمة المفتاحية with»؟

أضف الإمكانات من دون وراثة أحادية تتمرن على Dart Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Dart Academy؟

لا تُشترط خبرة سابقة. Dart Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «Mixins باستخدام الكلمة المفتاحية with»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Dart Academy هذا؟

نعم. كل درس في Dart Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. extends وتجاوز الطرق
  2. استدعاء super وتسلسل البنّاءات
  3. Mixins باستخدام الكلمة المفتاحية with
  4. قيود on وترتيب Mixins
← العودة إلى Dart Academy