یه سوالی که برام پیش اومده اینکه ما چرا اصلا متغییر enum ایجاد میکنیم..؟
اصن این متغیر جایی چک نمیشه و فقط ما state اون رو تغییر میدیم..
متوجهش نشدم.. ممنون میشم برام توضیح بدید..:)
سلام ابولفضل جان
همونطور که میدونی دیتا تایپ Boolean دو تا حالت بیشتر نمیگیره (True,False) .
خب این موضوع باعث شد برنامه نویسهای زبان x به این فکر بیفتن که برنامه نویسها بتونن به صورت پیشفرض یه چیزی شبیه دیتا تایپ Boolean بسازند که کاستوم باشه و حالتهای مختلفی رو در اون بتونیم نگه داری کنیم
که نتیجه این فکر شد enum ها
enumها یه نوع کلاس هستن که از چند کانستنت ساخته شده اند.
مثلا ما در برنامه ای یه enum میسازیم که حالتهای مختلف چراغ راهنمایی رانندگی رو چون از
حالت بیشترن در اون قرار بدیم (سبز...قرمز...زرد) یا حالتهای فصول سال رو قرار بدیم و...
این جواب قسمت اول سوالت بود که چرا enum ایجاد میکنیم
لزوما هم نباید برای چنین کاری از enum استفاده کنیم و میتونیم با متغیرهایی این اعمال رو هندل کنیم ولی مسلما کد ما به دور از حرفه ای کد زدن هست .
پس ما در این مثال موزیک پلیر اومدیم سه حالت PLAY,PAUSE,STOP قرار دادیم که حالتهای یک موزیک پلیر هستن
یه نکته فرعی : حروف حالتها رو به صورت uppercase نوشتیم چون ثابتن و قرار نیست تغییر کنن مثلا ما بجز فصل سال ..فصل دیکه ای در اینده اضافه نمیکنیم.
یا مثلا تصور کن یه برنامه نوشتیم که قراره در فصل زمستان والپیپر گوشی به زمستان تغییر کنه پس ما صرفا میایم با کانستنت فصل زمستان در کلاس enum ی که ساختیم state رو تغییر میدیم
پس به طور کل دلیل ایجاد اینام در این سر فصل این بود تمیز کد بزنیم .
و حتما هم برای اینگونه مسایل از اینام استفاده کنین
ممنون سالم و سلامت باشی.
آپدیت:توی زبان کاتلین یه نمونه جدید از اینام اومده که در اینده با اون اشنا میشی
پوریا شفیعی۰۲ آبان ۱۳۹۹، ۱۶:۲۲
ممنون از تعریف خوبتون پوریا جان..
سوال اصلیم این بودش که این enum که در پروژه تعریف کردیم اصن جایی چک نمیشد که ازش استفاده بشه... فقط در حالتهای مختلف state اون تغییر میکرد، برای چی باید تعریف بشه داخل این پروژه..؟