الثوابت في سي شارب

مؤمل محمد راضيمنذ سنتين

    الثوابت

 

 

تشير الثوابت إلى قيم ثابتة لا يغيرها البرنامج أثناء تنفيذها. تسمى هذه القيم الثابتة أيضًا القيم الحرفية. يمكن أن تكون الثوابت من أي نوع من أنواع البيانات الأساسية مثل ثابت int) )أو ثابت float))أو ثابت (char)أو (string).

يتم التعامل مع الثوابت مثل المتغيرات العادية إلا أنه لا يمكن تعديل قيمها بعد تعريفها وتعيين قيمة لها , نضرا لهذه الحقيقة فيمكننا تسميتها بالمتغيرات الثابته لانها تشبه المتغيرات في كل شيء ماعدا انها تحوي قيما لاتتغير ابدا في وقت التشغيل .

لإعلان متغير على أنه ثابت ، ببساطة استخدم الكلمة الأساسية  constالاختصار لكلمة ثابت في اللغه الانجليزية ( ( Constant ويجب علينا الاعلان قبل تحديد وتعيين نوع المتغير , واليك التنسيق الخاص باعلان الثابت :

 

 

 

Const      int          Num    =     1;                    

 

ثابت

 

الاسم

 

القيمة

 

النوع

 

 

 

 

 

 

 

 

وبهذه الطريقة ببساطة تتحول القيمة المعينة في المتغير الى ثابته لايمكن تغييرها في وقت تشغيل

 

 

دعنا ناخذ مثالا على استخدام تنسيق الثوابت :

 

 

 

* لاحض اننا قمنا باستخدام Const بعد تعيين حاله المتغير (public) وقبل تعيين نوع المتغير المعتاد

ان من الضروري استخدام الثوابت في البرامج التي تستخدم معادلات رياضية او برامج علمية او تعليمية حيث pi  ثابت الدائرة هو ثابت رياضي يستخدم في علوم الرياضيات والفيزياء بشكل مكثف    و  speedOfLight هي سرعه الضوء الثابته في الفراغ هي ثابت فيزيائي هام في العديد من مجالات الفيزياء وجعله متغير هو امر غير عملي اطلاقا لاستخدامه .

لاحظ أنه عند إعلان قيمة ثابت ، يجب أن تتم التهيئة له على الفور.

 لدى C # أيضاً نوع آخر من الثوابت ، التي لا تحتوي على هذه الكلمة الاساسية وهي : readonly

إذا تم تعريف متغير من فئة readonly ، فإنه يعمل بمثابة ثابت ، ولا يمكن تهيئته إلا مرة واحدة. المكان الوحيد الذي يكون فيه التهيئة ممكنًا في مُنشئ الصف أو آخر في بيانك المباشر.

دعونا ننظر إلى مثال صغير. لنفترض أن لدينا طبقة صغيرة تمثل readامر . واحدة من الأشياء التي تحتاج إلى تذكرها  في هذا الفصل هي أقصى درجة دقة (MAX_RES) ، في نقطة في البوصة (النقاط في incJi). إذا قام المبرمج بإعلان MAX_RES على أنه ثابت ، فلن يكون قارئ الفئة قادراً على التكيف مع أنواع اوامر الطباعه المختلفة ، مع دقة مختلفة ، متصلة بأجهزة كمبيوتر مختلفة. في نفس الوقت ، لا يعتبر إعلان MAX_RES كمتغير بسيط منطقيًا ، لأن الكمبيوتر متصل بامر طباعة معين ، فهذا ثابت. يتمثل الحل في إعلان MAX_RES على أنه حقل للقراءة فقط ، ويتم تهيئته في مُنشئ الفئة :

 

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

 

الأماكن الوحيدة التي يمكن فيها تهيئة حقل readonly  تكون في المُنشئ وفي إعلانها مباشرةً .

 

- لإعلان ثابت في Class، استخدم الكلمة الأساسية Const.

- قيمة الثوابت ثابتة ويتم تحديدها في وقت التحويل البرمجي وفي وقت التشغيل.

- ان للثوابت مستويات مختلفة من الوصول .

- للوصول إلى ثابت ، استخدم الاسم Const.

- تمثل عناصر readonly الثوابت التي تم تحديدها في وقت التشغيل.

"يمكن فقط تهيئة العناصر للقراءة فقط(readonly) في مُنشئ الفصل أو في تصريحه".

 

المحاضر

مؤمل محمد راضي

الكلمات الدليلية

عن الدرس

0 إعجاب
1 متابع
0 مشاركة
1176 مشاهدات
منذ سنتين

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

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

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