হ্যাঁ, জাভাতে Enum ইন্টারফেস বাস্তবায়ন করতে পারে, এটি তখন উপযোগী হয় যখন কোনো অবজেক্ট বা ক্লাসের ডিসক্রিমিনেটরি প্রপার্টির সাথে টাইটলি কাপল্ড কোনো বিজনেস লজিক বাস্তবায়ন করতে হয়। Enum হলো একটি বিশেষ ডেটা টাইপ যা জাভা ১.৫ সংস্করণে যোগ করা হয়েছে। Enum-গুলো কনস্ট্যান্ট, ডিফল্টভাবে তারা স্ট্যাটিক এবং ফাইনাল, তাই enum টাইপের ফিল্ডের নামগুলো বড় হাতের অক্ষরে লেখা হয়।
উদাহরণ
interface EnumInterface {
int calculate(int first, int second);
}
enum EnumClassOperator implements EnumInterface { // একটি Enum ইন্টারফেস বাস্তবায়ন করছে
ADD {
@Override
public int calculate(int first, int second) {
return first + second;
}
},
SUBTRACT {
@Override
public int calculate(int first, int second) {
return first - second;
}
};
}
class Operation {
private int first, second;
private EnumClassOperator operator;
public Operation(int first, int second, EnumClassOperator operator) {
this.first = first;
this.second = second;
this.operator = operator;
}
public int calculate() {
return operator.calculate(first, second);
}
}
// মেইন ক্লাস
public class EnumTest {
public static void main (String [] args) {
Operation add = new Operation(20, 10, EnumClassOperator.ADD);
Operation subtract = new Operation(20, 10, EnumClassOperator.SUBTRACT);
System.out.println("Addition: " + add.calculate());
System.out.println("Subtraction: " + subtract.calculate());
}
}
আউটপুট
Addition: 30 Subtraction: 10