إضافة دوال للـ enum

في هذا الدرس سنتعلم كيفية إضافة دالة للـ enum تقوم بطباعة خصائص كل فاكهة

إضافة الدوال للـ enum ليست بالعملية الصعبة ولا تختلف عن إضافة أي دالة بالكلاسات الأخرى (بإستثناء الدوال الـ abstract وسنتطرق لها لاحقاً).

سنقوم بإضافة دالة إسمها printInfo تقوم بطباعة التالي:

1- إسم الفاكهة (يتم الوصول له بإستخدام كلمة this)

2- وزن الفاكهة (يتم الوصول له بإستخدام this.weight)

3- السعرات الحرارية في الفاكهة ( يتم الوصول له بإستخدام this.calories)

4- طعم الفاكهة (يتم الوصول له بإستخدام this.taste)

يتم كتابة الدالة بالشكل التالي:

public void printInfo() {
		System.out.println("   Fruit Info" + "\n"
					+ "Fruit name: " + this + "\n"
					+ "Fruit Weight: " + this.weight + "\n"
					+ "Fruit calories: " + this.calories + "\n"
					+ "Fruit Taste: " + this.taste);
							
	}	

تنويه: الجملة "n\" تعني طباعة سطر جديد.

الآن لنقم بإضافة الدالة بداخل الـ enum:


public enum Fruits {
	
	ORANGE(80,40,"acid"),APPLE(100,60,"sweet"),LEMON(20,8,"acid"),
	BANANA(120,150,"sweet");
	
	private int weight;
	private int calories;
	private String taste;
	
	
	private Fruits(int wei, int cal, String tas) {
		this.weight = wei;
		this.calories = cal;
		this.taste = tas;

	}
	
	public void printInfo() {
		System.out.println("   Fruit Info" + "\n"
							+ "Fruit name: " + this + "\n"
							+ "Fruit Weight: " + this.weight + "\n"
							+ "Fruit calories: " + this.calories + "\n"
							+ "Fruit Taste: " + this.taste);
							
	}	

}

 

حالياً أصبح بإمكاننا تعريف متغيرات من الـ enum وإستدعاء دوالها مباشرة بداخل الـ main

كما في المثال التالي:

public class Test {

	public static void main(String[] args) {
		
		Fruits ap = Fruits.APPLE;
		ap.printInfo();
	
	}

}

 

قمنا بتعريف متغير نوعه Fruits قيمته APPLE ومن ثم إستدعينا الدالة printInfo

هذا الكود سينتج عنه الـ output التالي:

   Fruit Info
Fruit name: APPLE
Fruit Weight: 100
Fruit calories: 60
Fruit Taste: sweet

 

بإمكانك كما ذكرنا سابقاً ترك المجال للمستخدم بإختيار نوع الفاكهة التي يرغب بطباعة معلوماتها بإستخدام السكانر ودالة next() لإستقبال قيمة الفاكهة مع دالة toUpperCase() لتحويل المدخلات لأحرف كبيرة كي تطابق إسم الفاكهة.

بالشكل التالي:


import java.util.Scanner;
public class Test {

	public static void main(String[] args) {
		// تعريف السكانر
		Scanner input = new Scanner(System.in);
		//إستقبال قيمة من المستخدم
		Fruits fru = Fruits.valueOf(input.next().toUpperCase());
		// إستدعاء الدالة لطباعة الفاكهة التي حددها المستخدم
		fru.printInfo();
	
	}

}

 

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !