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

التعامل مع Enumeration أو الـ enum في الجافا

اذهب الى الأسفل

التعامل مع  Enumeration أو الـ enum في الجافا Empty التعامل مع Enumeration أو الـ enum في الجافا

مُساهمة من طرف زهراء في الثلاثاء يناير 01, 2019 10:00 pm

أهلا بكم مقال اليوم عن الـ #enum في لغة جافا وهى أختصار لكلمة Enumeration ..معناه بالعربية تعداد

أولا : ما هو الـ enum .

تستطيع القول ان الـ #enum هي نوع خاص من فئات الجافا التى يتم تعريفها من قبل المستخدم لتجميع الثوابت اللتي لها علاقة ببعضها تحت فئة واحدة بطريقة تنظم الوصول اليها .

ثانيا : كيفية الانشاء

يتم إنشاء  الـ #enum من خلال الكملة المحجوزة #enum ثم اتباعها باسم لها على النحو التالى :

الكود:
enum Days{
   SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}

هكذا تم إنشاء الـ #enum باسم Days و تحتوي على ايام الاسبوع ...ويمكن ملاحظة أننا قمنا بتعريف الـ #enum خارج الفئة لكن يمكن ايضا تعريفها داخل الفئة على النحو التالى :

الكود:
public class SimpleEnumExample {
   enum Days{
       SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
   }
}

ملاحظة : اذن يمكن تعريف الـ #enum داخل أو خارج الفئة ومع ذلك لا يمكن تعريفها داخل الطرق Methods

ثالثا : الوصول الى الـ enum 

يمكنك الوصول الى عناصر الـ #enum من خلال الاشارة الي العنصر على النحو التالى :
الكود:
 Days day = Days.SUNDAY;

مثال أكثر توضيحيى :
الكود:

enum Days{
  SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}

 class JavaApplication1 {
 
    public static void main(String[] args) {
        Days day = Days.SUNDAY;
      System.out.println("Days enum is set a value: "+day);
    }
   
}


رابعا :استخدام  الـ enum مع جملة if-else

في كثير من الأحيان ، قد تحتاج إلى مقارنة متغير يشير إلى ثابت  الـ #enum مقابل جميع القيم الممكنة في التعداد. يمكن القيام بذلك مع جملة if-else وذلك على النحو التالى :
الكود:

enum Days{
  SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}

 class JavaApplication1 {
 
    public static void main(String[] args) {
        Days day = Days.SUNDAY;
     
     
if(day == Days.SUNDAY) {
 System.out.println("Its Sunday :-)");
} else if(day == Days.MONDAY) {
 System.out.println("Its Monday :*--(");
} else if(day == Days.TUESDAY) {
 System.out.println("Its Tuesday :*-(");
}
    }
   
}


خامسا :إستخدام التعداد enum مع جملة Switch

الكود:

enum Days{
  SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}

 class JavaApplication1 {
 
    public static void main(String[] args) {
        Days day = Days.SUNDAY;
     
  switch(day) {
          case SUNDAY:
              System.out.println("Its Sunday :-)");
          case MONDAY:
            System.out.println("Its Monday :*--(");
          case TUESDAY:
            System.out.println("Its Tuesday :*-(");
         
          default:
              System.out.println("Rest of the week....");
             
      }
      }
   
}


سادسا : إنشاء الطرق methods و الحقول Fields بداخل الـ enum 

يمكن أن يحتوي الـ #enum على حقول وأساليب على النحو التالى :


الكود:

enum Days{
  SUNDAY (1), MONDAY (2), TUESDAY (3), WEDNESDAY (4), THURSDAY (5), FRIDAY (6), SATURDAY (7);
 
  private final int No_Today;

    private Days(int No_Today) {
    this.No_Today = No_Today;
    }
    public int getNo_Today() {
        return this.No_Today;
    }
}

 class JavaApplication1 {
 
    public static void main(String[] args) {
        Days day = Days.SUNDAY;
        System.out.println(Days.FRIDAY.getNo_Today());
     
 
      }
   
}
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 433
النقاط : 752
التقيم : 63
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

التعامل مع  Enumeration أو الـ enum في الجافا Empty رد: التعامل مع Enumeration أو الـ enum في الجافا

مُساهمة من طرف أحمد مناع في الأربعاء يناير 16, 2019 8:39 am

تحياتى لمجهودك يا زهراء

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1061
النقاط : 201923
التقيم : 130
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى