কম্পিউটার

জাভাতে ডিফল্ট পদ্ধতির ব্যবহার কী?


জাভাতে একটি ইন্টারফেস ক্লাসের অনুরূপ কিন্তু, এতে শুধুমাত্র বিমূর্ত পদ্ধতি এবং ক্ষেত্র রয়েছে যা চূড়ান্ত এবং স্থির।

  • এটি মেথড প্রোটোটাইপের একটি স্পেসিফিকেশন। যখনই আপনাকে প্রোগ্রামারকে গাইড করতে হবে বা, কোন ধরনের পদ্ধতি এবং ক্ষেত্রগুলি কীভাবে হওয়া উচিত তা উল্লেখ করে একটি চুক্তি করুন আপনি একটি ইন্টারফেস সংজ্ঞায়িত করতে পারেন৷
  • আপনার যদি একটি নির্দিষ্ট স্পেসিফিকেশন অনুসরণ করার জন্য আপনার ক্লাসের প্রয়োজন হয় তবে আপনাকে প্রয়োজনীয় ইন্টারফেস বাস্তবায়ন করতে হবে এবং সেই ইন্টারফেসের সমস্ত বিমূর্ত পদ্ধতির জন্য বডি প্রদান করতে হবে।
  • যদি আপনি একটি ইন্টারফেসের সমস্ত বিমূর্ত পদ্ধতির বাস্তবায়ন প্রদান না করেন (আপনি, বাস্তবায়ন করেন) একটি কম্পাইল টাইম ত্রুটি তৈরি হয়৷

ইন্টারফেসে নতুন পদ্ধতি যুক্ত হলে কি হবে?

ধরুন আমরা নির্দিষ্ট ইন্টারফেস ব্যবহার করছি এবং সেই ইন্টারফেসে সমস্ত বিমূর্ত পদ্ধতি প্রয়োগ করেছি এবং পরবর্তীতে নতুন পদ্ধতি যোগ করা হয়েছে। তারপর, এই ইন্টারফেসটি ব্যবহার করা সমস্ত ক্লাস কাজ করবে না যদি না আপনি তাদের প্রতিটিতে নতুন যোগ করা পদ্ধতিগুলি বাস্তবায়ন না করেন৷

Java8 থেকে এই সমস্যা সমাধানের জন্য ডিফল্ট পদ্ধতি চালু করা হয়েছে।

ডিফল্ট পদ্ধতি

একটি ডিফল্ট পদ্ধতি ডিফেন্ডার পদ্ধতি বা ভার্চুয়াল এক্সটেনশন পদ্ধতি হিসাবেও পরিচিত। আপনি ডিফল্ট ব্যবহার করে একটি ডিফল্ট পদ্ধতি সংজ্ঞায়িত করতে পারেন −

হিসাবে কীওয়ার্ড
default void display() {
   System.out.println("This is a default method");      
}

একবার একটি ইন্টারফেসে একটি নির্দিষ্ট পদ্ধতিতে একটি ডিফল্ট বাস্তবায়ন লিখুন। যে ক্লাসগুলি ইতিমধ্যে এই ইন্টারফেসটি ব্যবহার করছে (বাস্তবায়ন করছে) সেখানে এটি প্রয়োগ করার দরকার নেই৷

জাভা উদাহরণ অনুসরণ করা জাভাতে ডিফল্ট পদ্ধতির ব্যবহার প্রদর্শন করে।

উদাহরণ

interface sampleInterface{  
   public void demo();  
   default void display() {
      System.out.println("This is a default method");      
   }
}
public class DefaultMethodExample implements sampleInterface{
   public void demo() {
      System.out.println("This is the implementation of the demo method");
   }  
   public static void main(String args[]) {      
      DefaultMethodExample obj = new DefaultMethodExample();
      obj.demo();
      obj.display();      
   }
}

আউটপুট

This is the implementation of the demo method
This is a default method

  1. জাভাতে স্ট্রিং ইন্টার্ন() পদ্ধতির ভূমিকা কী?

  2. আমরা কখন জাভাতে প্যাক() পদ্ধতি ব্যবহার করতে পারি?

  3. জাভাতে setBounds() পদ্ধতির ব্যবহার কি?

  4. আমরা কি জাভা 9 এ একটি ইন্টারফেসে ব্যক্তিগত পদ্ধতি ব্যবহার করতে পারি?