Thursday, May 18, 2023

Java Interface

 

            Java Interface


  • #Java_Interface
  • #JAVA_Programming 
  • #100DaysOfJava 
  • #Day25

আজকে আমরা খুবি মজার একটি টপিক নিয়ে কথা বলবো ... সেটা হচ্ছে Java Interface

 গত দিনে আমরা জাভা Abstract class নিয়ে কথা বলেছিলাম, সেখানে abstract class এর ভিতরে abstract Methods ছাড়াও অন্য নরমাল মেথড থাকতে পারে, কিন্তু ইন্টারফেজের জন্য শুধু মাত্র abstract methods থাকবে, আর interface বুঝাতে ক্লাসের নামের আগে interface কি ওয়াড দিয়ে চিনিয়ে দিতে হবে,


interface Bdu{
  public void EdTech();
}

এখানে EdTech নামে যে মেথড আছে সেটা আসলে Abstract কিন্তু নতুন করে মেথডের নামের আগে আর লিখার প্রয়োজন নেই, কারণ Interface এ সবাই মেথড ই Abstract 

এবার আমরা আরো একটি ক্লাস নিবো, মনে করি সেই ক্লাস নামে প্রোগ্রাম আর তার মধ্যে এই EdTech method এর বডি দিবো, 

যেমন,

class Program implements Bdu{
  public void EdTech() {
    System.out.println("Welcome to Educational technology");
  }
}

এখানে মজার ব্যাপার হলো আমরা abstact class এর জন extends দিতাম কিন্তু interface এর জন্য আমাদের দিতে হবে, implements , আশা করি ব্যাপারটা লক্ষ্য করেছেন।

আমাদের তো কাজ শেষে এবার শুধু main method এর ভিতরে Program class এর অবজেক্ট তৈরি করেই EdTech মেথড ব্যবহার করতে পারবো,

public class Main {
  public static void main(String[] args) {
    Program p = new Program();
    p.EdTech();
  }
}

সম্পুণ কোডঃ

//Rony Ahmmed BDU-EdTech
interface Bdu{
  public void EdTech();
}
 
class Program implements Bdu{
  public void EdTech() {
    System.out.println("Welcome to Educational technology");
  }
}

public class Main {
  public static void main(String[] args) {
    Program p = new Program();
    p.EdTech();
  }
}

আউটপুটঃ Welcome to Educational technology

মজার না! আসলেই অনেক মজার!!!


নোটঃ

১। Abstract class গুলোর মতো interface এর অবজেক্ট তৈরি করা যায় না।

২। Interface মেথড গুলোর কোন বডি থাকবে না, implement class করে তার মধ্যেই বডি তৈরি করে নিতে হবে।

৩। ইমপ্লিমেন্টাশন করার সময় অবশ্যই মেথডের  বডি override করতে হবে।

৪,। interface methods গুলো abstract এবং পাবলিক


আজ এই পয়ন্ত কথা হবে, আগামী পোস্টে ...









0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home