By using this site, you agree to the Privacy Policy and Terms of Use.
موافق
عرب فلاترعرب فلاتر
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
قراءة: الدرس 47: شرح مفهوم الـ Mixin في لغة دارت (Mixin in Dart)
شارك
تسجيل الدخول
إشعار أظهر المزيد
Aa
عرب فلاترعرب فلاتر
Aa
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
Search

أقسام الموقع

استكشف جميع أقسام الموقع
قسم Dart في موقع عرب فلاتر

Dart

59 مقالات
قسم Widgets في موقع عرب فلاتر

Widgets

104 مقالات
قسم Packages في موقع عرب فلاتر

Packages

19 مقالات
قسم Tutorials في موقع عرب فلاتر

Tutorials

22 مقالات

أخر المواضيع

استكشف أخر المواضيع المنشورة
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا

5
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials

حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر

10
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials

أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات

17
لديك حساب موجود؟ تسجيل الدخول
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
عرب فلاتر > Dart > الدرس 47: شرح مفهوم الـ Mixin في لغة دارت (Mixin in Dart)
Dart

الدرس 47: شرح مفهوم الـ Mixin في لغة دارت (Mixin in Dart)

عبدالله يوسف
أخر تحديث 2024/11/15
بواسطة عبدالله يوسف اضف تعليق 4 دقيقة للقراءة 3162 مشاهدات 3
شارك
شرح مفهوم الـ Mixin في لغة دارت (Mixin in Dart)
شرح مفهوم الـ Mixin في لغة دارت (Mixin in Dart)
شارك

خدماتنا البرمجية – عرب فلاتر🚀

خدماتنا البرمجية – عرب فلاتر

في لغة دارت (Dart)، تأتي الـ Mixin كأداة قوية لإعادة استخدام الأكواد بين عدة كلاسات. يمكن تعريف الـ Mixin باستخدام الكلمة المفتاحية “mixin” تليها اسم الـ Mixin المراد إنشاؤه. تسهل الـ Mixin على المطورين إضافة دالة أو سلوك إضافي إلى الكلاسات دون الحاجة إلى التوريث من كلاس آخر. تستخدم كلمات مفتاحية مثل “with” و “on” للتفاعل مع الـ Mixin، وبالإمكان استخدام عدة Mixin في كلاس واحد للتحكم في السلوك بشكل دقيق.

المحتويات
قواعد الـ Mixin في دارت:طريقة كتابة الـ Mixin في دارت:شرح الـ Mixin مع كلمة ONطريقة كتابة الـ Mixin باستخدام كلمة ONأمثلة على الـ Mixin في دارت:مثال 1: استخدام الـ Mixin في دارتمثال 2: استخدام الـ Mixin في دارتمثال 3: استخدام الـ Mixin مع كلمة ON في دارتما يسمح به في الـ Mixin:ما لا يسمح به في الـ Mixin:

قواعد الـ Mixin في دارت:

  • لا يمكن إنشاء كائن من الـ Mixin.
  • تستخدم الـ Mixin لمشاركة الكود بين عدة كلاسات.
  • الـ Mixin ليس لها constructor ولا يمكن توريثها.
  • يمكن استخدام Mixin متعددة في كلاس واحد.

طريقة كتابة الـ Mixin في دارت:

mixin Mixin1{
  // code 
}

mixin Mixin2{
  // code
}

class ClassName with Mixin1, Mixin2{
  // code 
}

شرح الـ Mixin مع كلمة ON

أحياناً، تريد استخدام الـ Mixin فقط مع كلاس محدد. في هذه الحالة، يمكن استخدام كلمة on.

طريقة كتابة الـ Mixin باستخدام كلمة ON

mixin Mixin1 on Class1{
  // code
}

أمثلة على الـ Mixin في دارت:

مثال 1: استخدام الـ Mixin في دارت

mixin ElectricVariant {
  void electricVariant() {
    print('This is an electric variant');
  }
}

mixin PetrolVariant {
  void petrolVariant() {
    print('This is a petrol variant');
  }
}

// كلمة with تستخدم لتطبيق الـ mixin على الكلاس
class Car with ElectricVariant, PetrolVariant {
  // هنا يمكن الوصول إلى الدوال electricVariant() و petrolVariant()  
}

void main() {
  var car = Car();
  car.electricVariant(); 
  car.petrolVariant();
}

نتيجة الكود:

This is an electric variant
This is a petrol variant

مثال 2: استخدام الـ Mixin في دارت

mixin CanFly {
  void fly() {
    print('I can fly');
  }
}

mixin CanWalk {
  void walk() {
    print('I can walk');
  } 
}

class Bird with CanFly, CanWalk {

}

class Human with CanWalk {

}

void main() {
  var bird = Bird();
  bird.fly();
  bird.walk();

  var human = Human();
  human.walk(); 
}

نتيجة الكود:

I can fly
I can walk
I can walk

مثال 3: استخدام الـ Mixin مع كلمة ON في دارت

abstract class Animal {
  // الخصائص
  String name;
  double speed;

  // الـ constructor
  Animal(this.name, this.speed);

  // الدالة المجردة
  void run(); 
}

// mixin CanRun تستخدم فقط مع كلاسات تورث Animal
mixin CanRun on Animal {
  // تنفيذ الدالة المجردة 
  @override
  void run() => print('$name is Running at speed $speed');
}

class Dog extends Animal with CanRun {
  // constructor
  Dog(String name, double speed) : super(name, speed); 
}

void main() {
  var dog = Dog('My Dog', 25);
  dog.run();
}

نتيجة الكود:

My Dog is Running at speed 25.0

ما يسمح به في الـ Mixin:

  • يمكن إضافة خصائص ومتغيرات static.
  • يمكن إضافة دوال عادية، مجردة، و static.
  • يمكن استخدام Mixin متعددة في كلاس واحد.

ما لا يسمح به في الـ Mixin:

  • لا يمكن تعريف constructor.
  • لا يمكن توريث الـ Mixin.
  • لا يمكن إنشاء كائن من الـ Mixin.

إن مفهوم الـ Mixin في لغة دارت يوفر وسيلة فعالة ومرنة لإعادة استخدام الأكواد وتعزيز الكلاسات بسهولة. باستخدام هذه التقنية، يمكن للمطورين تحسين أداء وإمكانيات كودهم وجعل التطوير أكثر فعالية وسلاسة. سيكون فهمك لمفهوم الـ Mixin أحد الأدوات الهامة في عملك مع لغة دارت.

Arab Flutter Community 🚀

انضم إلى مجتمع Arab Flutter
شارك هذا المقال
فيسبوك تويتر Whatsapp Whatsapp لينكد ان تلغرام نسخ الرابط
المقال السابق شرح الـ Interface في لغة دارت (Interface in Dart) الدرس 46: شرح الـ Interface في لغة دارت (Interface in Dart)
المقال التالي شرح مفهوم الـ Factory Constructor في لغة دارت (Dart) الدرس 48: شرح مفهوم الـ Factory Constructor في لغة دارت (Dart)
Avatar of عبدالله يوسف
بواسطة عبدالله يوسف Founder and CEO at ArabFlutter
تابع:
أنا عبدالله يوسف، مهندس مصري ومؤسس موقع عرب فلاتر، ملهم بشغف التكنولوجيا والإبداع. كمصمم مواقع ومبرمج تطبيقات موبايل باستخدام Flutter، أستمتع بخلق عوالم رقمية فريدة ومبتكرة. تتجلى مواهبي في تصميم وتطوير واجهات مستخدم تفاعلية، حيث يمزج الجانب الجمالي بالدقة الهندسية. ما يميزني هو إلمامي الواسع بتقنيات البرمجة والتصميم، ومقدرتي على تطوير تطبيقات متنوعة عبر منصات مختلفة. أعتبر نفسي مبدعًا وملتزمًا، حيث أسعى دائمًا لتحقيق تحسين مستمر في مهاراتي وتقنياتي. أستمتع بتحديات العمل الجماعي وأؤمن بأهمية الابتكار والتطور. بفضل إبداعي والتزامي، أسعى لتقديم حلول فعّالة تلبي توقعات العملاء وتفوق عن المألوف.
اترك تعليقا اترك تعليقا

اترك تعليقاً إلغاء الرد

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials
طريقة انشاء المجلدات باستخدام Dart
طريقة انشاء المجلدات باستخدام كود Dart تلقائيًا
Tutorials

مقالات ذات الصلة

اطلع على المزيد من المقالات المتعلقة بهذا الموضوع!
شرح العوازل في لغة دارت (Isolates in Dart)
Dart

شرح العوازل في لغة دارت (Isolates in Dart)

8
شرح الـ Stream في لغة دارت (Stream in Dart)
Dart

الدرس 57: شرح الـ Stream في لغة دارت (Stream in Dart)

8
شرح عبارات async & await في لغة دارت (Dart)
Dart

الدرس 56: شرح عبارات async & await في لغة دارت (Dart)

6
شرح مفهوم الـ Future في لغة دارت (Future In Dart)
Dart

الدرس 55: شرح مفهوم الـ Future في لغة دارت (Future In Dart)

6
شرح مفهوم الـ Asynchronous في لغة دارت (Dart)
Dart

الدرس 54: شرح مفهوم الـ Asynchronous في لغة دارت (Dart)

5
10 تمارين محلولة على Null Safety في لغة دارت Dart
Dart

الدرس 53: 10 تمارين محلولة على Null Safety في لغة دارت Dart

5
أظهر المزيد
شعار موقع عرب فلاتر شعار موقع عرب فلاتر

About US

Quick Links

  • خدماتنا
  • من نحن
  • اتصل بنا
  • اتفاقية استخدام
  • سياسة الخصوصية
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
adbanner
تم اكتشاف مانع إعلانات
مرحبًا، يرجى إيقاف مانع الإعلانات. الإعلانات تُساهم في دعم موقعنا وتغطية جزء من تكاليف الاستضافة وتطوير المحتوى. شكرًا لتفهمك ودعمك.
Okay, I'll Whitelist
Welcome Back!

Sign in to your account

هل نسيت كلمة المرور؟