الثابت const في برمجة الفلتر flutter

ماهي الكلمة المفتاحية const (الثابت) وما أهمية استخدامها عند برمجة كود الفلتر .

بسم الله الرحمن الرحيم

 

في هذ المقال سنوضح ماهي الكلمة المفتاحية const (الثابت) وما أهمية استخدامها عند برمجة كود الفلتر .

ما هو الثابت (const) في برمجة الفلتر؟

لو جئنا نتعرف على ماهو الثابت (const) وما هي فائدته عند كتابه الكود في الفلتر فهي كلمة من الكلمات الرئيسية للغة الدارت المستخدمة في برمجة الهواتف بالفلتر وهي تستخدم عند تعريف المتغير في وقت الترجمة (compile time) ولا يتغير بعد ذلك أبداً في وقت التشغيل (run time). بمعنى آخر إنشاء المتغير في وقت الترجمة لمرة واحدة ثم استخدامه عدة مرات أثناء التشغيل.​

لو لاحظنا الكود في الصورة بالأعلى فإن مربع الحجم الأول لا تسبقه كلمة const فإنه سوف يتم اعادة بناءه في كل مرة يصل البرنامج إلى هذه النقطة, على العكس تماماً في مربع الحجم الثاني فإنه سوف يتم بنائه مرة واحدة فقط في وقت الترجمة ثم يتم استخدامه في كل مرة يصل البرنامج إلى هذه النقطة. أي أن الكلمة const هي بمثابة مؤشر تخبر المترجم أنه ، "بالنسبة لهذا المتغير ، لن يتغير أبدًا في عمر هذا البرنامج ، لذا قم بإنشاء نسخة واحدة منه وحيثما يتم ذكره ، فقط ارجع إلى النسخة التي قمت بإنشائها أول مرة ولا تقم بإنشاء نسخة جديدة. "

 

ما فائدة استخدام الثابت (const)؟

استخدام الconst سوف يؤدي الى تقليل الوقت الذي يحتاج لتشغيل البرنامج لأنه لن يقوم بإعادة البناء مراراً وتكراراً وكذلك سوف يستهلك مساحة أقل من الذاكرة. وتتضح الفائدة لو كنا نقوم بإستخدام نفس الكائن لعدد كبير من المرات فلنقل 100 مرة في التطبيق فبدلاً من أن يقوم بإعادة إنشاء الكائن لمئة مرة فهو يشير إلى الكائن الأصلي الذي تم إنشائه بداية التشغيل.

 

 

طيب كيف ممكن أنشئ كائنات ثابتة؟

عند كتابة الفئة -class- نحدد المنشئ -constructor-  من نوع ثابت -const-:

مع ملاحظة أن جميع المتغيرات بداخل الفئة يجب أن تكون معرفة بأنها  نهائية -final- أي أنه لن يتم تغيرها أبداً بعد تعريفها لأول مرة.

 

 

بمجرد أن يكون أحد المتغيرات غير نهائي في الفئة فلن يبقى المنشئ من نوع ثابت, كما نلاحظ في الصورة بالأعلى إلى وجود خطأ يظهر بعد ازالة كلمة final من المتغير الثاني.

 

 

 

 

المصادر التي تم الرجوع إليها لكتابة المقال:

https://jelenaaa.medium.com/what-are-const-objects-in-dart-fd65cf5b0afd

 

https://medium.com/flutter-community/the-flutter-const-keyword-demystified-c8d2a2609a80

 

0
إعجاب
842
مشاهدات
1
مشاركة
1
متابع

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !