enumها (Enum)
enum در جاوا یعنی یک نوع خاص برای گروه ثابت ها. ثابت (Constant) یعنی مقداری که تغییر نمی کند. مثل روزهای هفته. با enum کد خواناتر می شود و خطاها کمتر می شوند.
تعریف enum در جاوا
برای ساخت enum از کلمه enum استفاده کن. نام مقادیر را بزرگ بنویس.
enum Level {
LOW,
MEDIUM,
HIGH
}
برای دسترسی به مقدار، از نقطه استفاده کن. مثل بازی که مرحله MEDIUM را انتخاب می کنی.
Level myVar = Level.MEDIUM;
enum داخل کلاس
می توانی enum را داخل یک کلاس هم تعریف کنی و بعد چاپش کنی.
public class Main {
enum Level {
LOW,
MEDIUM,
HIGH
}
public static void main(String[] args) {
Level myVar = Level.MEDIUM;
System.out.println(myVar);
}
}
استفاده از enum در switch
معمولاً enum را داخل switch چک می کنیم تا متن مناسب را نشان دهیم.
enum Level {
LOW,
MEDIUM,
HIGH
}
public class Main {
public static void main(String[] args) {
Level myVar = Level.MEDIUM;
switch (myVar) {
case LOW:
System.out.println("Low level");
break;
case MEDIUM:
System.out.println("Medium level");
break;
case HIGH:
System.out.println("High level");
break;
}
}
}
حلقه روی مقادیر enum
با متد values() همه مقادیر enum برمی گردند و می توانی بچرخی.
for (Level myVar : Level.values()) {
System.out.println(myVar);
}
نکات مهم درباره enum
- مثل کلاس می تواند ویژگی و متد داشته باشد.
- مقادیر enum عمومی، ایستا و نهایی هستند.
- enum شیء جدید نمی سازد و کلاس دیگری را extend نمی کند.
- اما می تواند اینترفیس ها را پیاده سازی کند.
گام های عملی
- enum را با مقادیر ثابت بساز.
- یک متغیر از نوع enum تعریف کن.
- با switch یا حلقه، رفتار مناسب را اجرا کن.
نکته: برای انتزاع بهتر به انتزاع و برای قرارداد رفتاری به اینترفیس نگاه کن. برای مرور، enum در جاوا را علامت دار کن.
جمع بندی سریع
- enum گروهی از ثابت هاست.
- نام مقادیر را بزرگ بنویس.
- در switch بسیار کاربردی است.
- با values() می توانی حلقه بزنی.