জেনেরিক ইন্টারফেস হল এমন একটি ইন্টারফেস যা টাইপ প্যারামিটার গ্রহণ করতে পারে। এটি ডেটার নির্দিষ্ট টাইপ নির্ধারণ না করেই বিভিন্ন টাইপের ডেটার সাথে কাজ করার ফ্লেক্সিবিলিটি প্রদান করে। জেনেরিক ইন্টারফেস টাইপ-সেফ কোড তৈরি করতে সহায়ক এবং পুনঃব্যবহারযোগ্য কোড লেখার জন্য ব্যবহৃত হয়।
Generic Interface এর গঠন
public interface GenericInterface<T> {
T operate(T data);
}
এখানে:
Tহল একটি টাইপ প্যারামিটার, যা ডেটার টাইপ নির্দেশ করে।- ইন্টারফেসটি তখন বিভিন্ন টাইপে ব্যবহার করা যেতে পারে, যেমন
Integer,String, বাDouble।
Generic Interface বাস্তবায়ন
1. নির্দিষ্ট টাইপের সাথে ইন্টারফেস বাস্তবায়ন
public class StringProcessor implements GenericInterface<String> {
@Override
public String operate(String data) {
return "Processed: " + data;
}
}
public class IntegerProcessor implements GenericInterface<Integer> {
@Override
public Integer operate(Integer data) {
return data * data; // Return square of the number
}
}
ব্যবহার:
public class Main {
public static void main(String[] args) {
GenericInterface<String> stringProcessor = new StringProcessor();
System.out.println(stringProcessor.operate("Java Generics")); // Output: Processed: Java Generics
GenericInterface<Integer> integerProcessor = new IntegerProcessor();
System.out.println(integerProcessor.operate(5)); // Output: 25
}
}
2. জেনেরিক ইন্টারফেসের জেনেরিক ক্লাস দিয়ে বাস্তবায়ন
public class GenericProcessor<T> implements GenericInterface<T> {
@Override
public T operate(T data) {
System.out.println("Processing: " + data);
return data;
}
}
ব্যবহার:
public class Main {
public static void main(String[] args) {
GenericInterface<String> stringProcessor = new GenericProcessor<>();
stringProcessor.operate("Hello, Generics!"); // Output: Processing: Hello, Generics!
GenericInterface<Integer> integerProcessor = new GenericProcessor<>();
integerProcessor.operate(100); // Output: Processing: 100
}
}
Generic Interface এর সুবিধা
- টাইপ সেফটি:
- টাইপ মিসম্যাচ থেকে রক্ষা করে।
- রানটাইম এরর কমায় কারণ টাইপ চেকিং কম্পাইল টাইমে হয়।
- কোড পুনঃব্যবহারযোগ্যতা:
- একই ইন্টারফেস বিভিন্ন টাইপের জন্য ব্যবহার করা যায়।
- প্রোগ্রামারকে বারবার নতুন ইন্টারফেস তৈরি করতে হয় না।
- কোড পরিষ্কার এবং রিডেবল:
- ডেটা টাইপ পরিষ্কার করে বুঝতে সাহায্য করে।
Generic Interface এর উদাহরণ: Comparator
জাভার Comparator<T> ইন্টারফেস একটি পরিচিত জেনেরিক ইন্টারফেস। এটি ডেটার দুইটি অবজেক্ট তুলনা করার জন্য ব্যবহৃত হয়।
Comparator উদাহরণ:
import java.util.*;
public class Main {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
// Custom Comparator using a Generic Interface
names.sort(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o2.compareTo(o1); // Descending order
}
});
System.out.println(names); // Output: [Charlie, Bob, Alice]
}
}
- Generic Interface টাইপ-সেফ এবং পুনঃব্যবহারযোগ্য কোড লেখার একটি কার্যকরী পদ্ধতি।
- এটি জাভার বিল্ট-ইন লাইব্রেরি যেমন
Comparator,Iterableইত্যাদিতে ব্যবহৃত হয়। - প্রজেক্টের জটিলতা এবং রিডেবলিটি বাড়ানোর জন্য জেনেরিক ইন্টারফেস একটি শক্তিশালী টুল।
Content added By
Read more