ما هي أنواع التعداد في البرمجة ولماذا هي مفيدة؟

جدول المحتويات:

ما هي أنواع التعداد في البرمجة ولماذا هي مفيدة؟
ما هي أنواع التعداد في البرمجة ولماذا هي مفيدة؟
Anonim

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

تحديد قائمة القيم

Enums هي قائمة من القيم ، كل منها فريد دائمًا. لا يمكنك الحصول على قيمتين في التعداد بالاسم نفسه. هذا يجعلها مفيدة جدًا لتحديد جميع حالات القيمة الممكنة التي يمكن أن تتعامل معها الوظيفة.

على سبيل المثال ، يمكن أن يكون لديك تعداد يسمى "فواكه" ، مع قائمة بالفواكه المحتملة التي يفهمها التطبيق.هذا هو الاختلاف الرئيسي بين مجرد استخدام سلسلة

لتمثيل هذا المتغير - يمكن أن تحتوي سلسلة

على قيم محتملة غير محدودة ، بينما لا يمكن أن يحتوي هذا العدد إلا على ثلاثة

صورة
صورة

يمكنك بعد ذلك استخدام هذا التعداد في التعليمات البرمجية الخاصة بك. على سبيل المثال ، التحقق مما إذا كان نوع إدخال المستخدم يساوي Apple ، أو حتى تمريره كوسيطة إلى عبارة

switch / case، مع القيام بشيء محدد لكل نوع من القيم المحتملة.

صورة
صورة

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

صورة
صورة

والتي يمكن بعد ذلك تحويلها ذهابًا وإيابًا إلى القيمة ، ونوع التعداد ، باستخدام الصب الأساسي:

صورة
صورة

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

أيضًا ، لا يساعدك وجود قوائم منسدلة للإكمال التلقائي لقائمة القيم المحتملة فحسب ، بل يساعد أي شخص آخر يعمل على قاعدة التعليمات البرمجية الخاصة بك في المستقبل. أنت لا تريد الحفاظ على التعليمات البرمجية التي تأخذ السلاسل كوسيطات وتقوم بأشياء عشوائية بناءً على المدخلات. استخدام التعداد بدلاً من ذلك يحدد بدقة سلوك التطبيق.

سلبيات استخدام الأعداد

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

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

أنواع التعداد كأعلام

استخدام شائع آخر للتعدادات هو تحديد الأعلام بت. هذه مفهوم متقدم جدًا ، ولكن بشكل أساسي ، تمثل كل قيمة تعداد قيمة منطقية واحدة. معًا ، يمكن تخزين التعداد بأكمله في عدد صحيح واحد ، واستخدامه لإجراء عمليات بحث سريعة عن البيانات المنطقية.

يعمل هذا لأنه يتم تعيين كل قيمة تعداد على بت مختلف في الرقم الأساسي. بالنسبة للثنائي ، هذا يعني أن قيم التعداد ستكون 0 ، 1 ، 2 ، 4 ، 8 ، 16 ، إلخ. بعد ذلك ، يمكنك إضافتها معًا لتمثيل قائمة من القيم المنطقية.

صورة
صورة

لماذا تفعل هذا بدلاً من عدة قيم منطقية؟ حسنًا ، فهو يوفر المساحة ، والتي يمكن أن تكون مفيدة في بعض المواقف (حيث تخزن الكثير منها). ولكن الأهم من ذلك ، أنه من السهل حقًا الوصول إلى كل قيمة ، لا سيما عند الوصول إلى قيم متعددة. على سبيل المثال ، إذا أردت التحقق مما إذا كانت عطلة نهاية الأسبوع ، فيمكنك التحقق مما إذا كانت

Saturday | الأحد، كلها من نفس البايت الذي تم تحميله في الذاكرة. تحتاج وحدة المعالجة المركزية إلى جلب عنصر واحد فقط للحصول على قائمة بجميع حالات العلم.

موضوع شعبي