enum ها در پروژه

پرسیده شده
فعالیت 1278 روز پیش
دیده شده 738 بار
0

سلام

یه سوالی که برام پیش اومده اینکه ما چرا اصلا متغییر enum ایجاد میکنیم..؟

اصن این متغیر جایی چک نمیشه و فقط ما state اون رو تغییر میدیم..

متوجهش نشدم.. ممنون میشم برام توضیح بدید..:)

فایل پیوست

1
حذف شده

سلام ابولفضل جان

همونطور که میدونی دیتا تایپ Boolean دو تا حالت بیشتر نمیگیره (True,False) .

خب این موضوع باعث شد برنامه نویس های زبان x به این فکر بیفتن که برنامه نویس ها بتونن به صورت پیشفرض یه چیزی شبیه دیتا تایپ Boolean بسازند که کاستوم باشه و حالت های مختلفی رو در اون بتونیم نگه داری کنیم 

که نتیجه این فکر شد enum ها

enum ها یه نوع کلاس هستن که از چند کانستنت ساخته شده اند.

مثلا ما در برنامه ای یه enum میسازیم که حالت های مختلف چراغ راهنمایی رانندگی رو چون از 

 حالت بیشترن در اون قرار بدیم (سبز...قرمز...زرد) یا حالت های فصول سال رو قرار بدیم و...

این جواب قسمت اول سوالت بود که چرا enum ایجاد میکنیم 

لزوما هم نباید برای چنین کاری از enum استفاده کنیم و میتونیم با متغیرهایی این اعمال رو هندل کنیم ولی مسلما کد ما به دور از حرفه ای کد زدن هست .

پس ما در این مثال موزیک پلیر اومدیم سه حالت PLAY,PAUSE,STOP قرار دادیم که حالت های یک موزیک پلیر هستن 

یه نکته فرعی : حروف حالت ها رو به صورت uppercase نوشتیم چون ثابتن و قرار نیست تغییر کنن مثلا ما بجز  فصل سال ..فصل دیکه ای در اینده اضافه نمیکنیم.

یا مثلا تصور کن یه برنامه نوشتیم که قراره در فصل زمستان والپیپر گوشی به زمستان تغییر کنه پس ما صرفا می ایم با کانستنت فصل زمستان در کلاس enum ی که ساختیم state رو تغییر میدیم

پس به طور کل دلیل ایجاد اینام در این سر فصل این بود تمیز کد بزنیم .

و حتما هم برای اینگونه مسایل از اینام استفاده کنین 

ممنون سالم و سلامت باشی.

آپدیت:توی زبان کاتلین یه نمونه جدید از اینام اومده که در اینده با اون اشنا میشی

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

2 آبان 99

0
حذف شده

ممنون از تعریف خوبتون پوریا جان..

سوال اصلیم این بودش که این enum که در پروژه تعریف کردیم اصن جایی چک نمیشد که ازش استفاده بشه... فقط در حالت های مختلف state اون تغییر میکرد، برای چی باید تعریف بشه داخل این پروژه..؟

 این بیشتر برام سوال بود..

فایل پیوست

ابوالفضل رضایی

توسط

ابوالفضل رضایی

3 آبان 99

حذف شده
ابولفضل جان نیاز نیست که چک بشن ما صرفا استیت ها رو معرفی کردیم و با توجه به اون state های enum کدمونو توسعه میدیم همونطور که مشاهده کردی ابتدا یه state پیشفرض برای اپ در نظر گرفتیم و سپس در قسمت های مختلف state رو ست کردیم تا با توجه به state ی که وجود داره در قالب یک switch عملیاتی رو انجام بدیم
پوریا شفیعی

3 آبان 99