کلاس های enum در کاتلین چیست و چرا ما از enum استفاده میکنیم ؟
کلاس های enum در کاتلین برای نمایش مجموعه ثابت از مقادیر مرتبط استفاده میشوند. به عنوان مثال، میتوانید از یک کلاس enum برای نشان دادن روزهای هفته، رنگها یا رتبههای مختلف استفاده کنید. برای مثال : شما یک کلاس enum برای رنگ درست میکنید و در آن مقادیر دلخواه خود را قرار میدهید و این مقادیر ثابت هستند و از جاهای مختلف نیز میتوانید به آنها دسترسی داشته باشید.
به توضیحی بیشتر در برنامه نویسی، گاهی اوقات نیاز به یک نوع وجود دارد که فقط مقادیر خاصی داشته باشد. برای انجام این کار، مفهوم شمارش معرفی شد. Enumeration یک لیست نامگذاری شده از ثابت ها است.
در کاتلین، مانند بسیاری از زبان های برنامه نویسی دیگر، enum نوع تخصصی خود را دارد که نشان می دهد چیزی دارای تعدادی مقادیر ممکن است. بر خلاف enums جاوا، enum های Kotlin کلاس هستند.
چند نکته مهم در مورد کلاس های enum در کاتلین :
- ثابتهای Enum فقط مجموعهای از ثابتها نیستند، اینها دارای ویژگیها، روشها و غیره هستند
- هر یک از ثابت های enum به عنوان نمونه های جداگانه کلاس عمل میکنند و با کاما از هم جدا میشوند.
- Enums خوانایی کد شما را با اختصاص نام های از پیش تعریف شده به ثابت ها افزایش میدهد.
- نمونه ای از کلاس enum را نمیتوان با استفاده از سازنده ایجاد کرد.
مطالب مرتبط : کلاس های داده در کاتلین | آموزش مقدماتی کاتلین | درس بیست و سوم
کلاس enum در کاتلین به چه صورتی تعریف میشود:
برای تعریف یک کلاس enum، از کلیدواژه enum به دنبال نام کلاس و آکولاد استفاده میکنیم. و در داخل آکولاد، مقادیر enum را به عنوان ثابت لیست میکنیم.
در این مثال، Color یک کلاس enum با مقادیر RED, GREEN,BLUE,ORANGE,BROWN,YELLOW, TURQUOISE است.
نحوی دسترسی به مقادیر کلاس enum در کاتلین :
میتوانید با استفاده از نقطه (.) به مقادیر enum دسترسی پیدا کنید.
مطالب مرتبط : کلاس abstract در کاتلین | آموزش مقدماتی کاتلین | درس بیست و یکم
توابع کاربردی در کلاس های enum در برنامه نویسی کاتلین:
کلاسهای enum تعدادی تابع مفید را ارائه میدهند، از جمله :
- ()values: لیستی از تمام مقادیر enum را برمیگرداند.
- ()valueOf: یک مقدار enum را با نام آن جستجو میکند و برمیگرداند.
- ()ordinal: موقعیت یک مقدار enum را در لیست مقادیر برمیگرداند.
- ()name: نام یک مقدار enum را برمیگرداند.
در قسمت پایین چندین مثال کاربردی از کلاس های enum در کاتلین را برای شما آوردیم .
در این مثال، Size یک کلاس enum با سه مقدار SMALL، MEDIUM و LARGE است. هر مقدار دارای یک value مرتبط است. کد نمونه، مقدار value، name و یک مقدار enum را با استفاده از ()valueOf چاپ میکند.
مطالب مرتبط : کلاس های تو در تو یا Nested Classes در کاتلین | آموزش مقدماتی کاتلین | درس 18
مثالی پیشرفته استفاده از enum در switch-case:
در این مثال، OrderStatus یک enum است که چهار ثابت دارد: PLACED، SHIPPED، DELIVERED و CANCELED. orderStatus یک متغیر است که از نوع OrderStatus است. مقدار آن به ثابت SHIPPED enum اختصاص داده شده است. سپس، یک عبارت when برای بررسی مقدار orderStatus استفاده می شود. اگر orderStatus برابر با PLACED باشد، “سفارش شما ثبت شده است” چاپ می شود. اگر orderStatus برابر با SHIPPED باشد، “سفارش شما ارسال شده است” چاپ می شود و به همین ترتیب.
مزایای استفاده از کلاسهای enum در برنامه نویسی کاتلین چه چیز های است:
- خوانایی کد را افزایش میدهند: به جای استفاده از اعداد ثابت، میتوانید از نامهای توصیفی برای مقادیر enum استفاده کنید.
- امنیت نوع را افزایش میدهند: کامپایلر کاتلین تضمین میکند که فقط از مقادیر enum معتبر استفاده کنید.
- کد را مختصرتر میکنند: میتوانید از توابع مرتبط با enum برای سادهتر کردن کد خود استفاده کنید.
خلاصه مطالب
کلاس های enum در کاتلین برای زمانی استفاده میشود که ما یکسری مقادیر ثابت مانند ایام هفته و رنگ و … داریم و که به همدیگر مرتبط هستند و قصد نمایش آنها را داریم .
مطالب پربازدید : کاتلین چیست و چه مزیت هایی را نسبت به زبان های دیگر دارد؟
دیدگاهتان را بنویسید