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 এবং পাবলিক


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









Monday, May 1, 2023

Java ArrayList Sorting Method (day 18)

Java ArrayList Sorting Method

#Java_ArrayList_sort
#JAVA_Programming 
#100DaysOfJava 
#Day18

আজ আমরা জাভা অ্যারে লিস্ট দিয়ে উপাদান গুলোকে ক্রম অনুসারে সাজাবো ।
তার জন্য আমাদের আরো একটি নতুন প্যাকেজ কল করতে হবে।
import java.util.Collections;
এখানে লক্ষ্য করলে দেখা যাচ্ছে যে java.util ক্লাসের ভিততে আছে তাই আপনি চাইলে 
import java.util.ArrayList;
উভয় কে একসাথে কল করতে পারেন।
তার জন্য 
import java.util.*;
এবার আমাদের একটি অবজেক্ট আগের দিনের মতো তৈরি করে নিতে হবে । যেমন আজ আমি চাচ্ছি যে ইংরেজী দিনের নাম গুলো দিয়ে শিখতে এবং তাদের বর্ণ কম অনুসারে সাজাতে, তার জন্য আমি আগের দিনের মতো অবজেক্ট তৈরি করে নিলাম এবং দিন গুলো add করে নিচ্ছি।



//Rony Ahmmed BDU-ICTE
import java.util.*;
public class Main {
  public static void main(String[] args) {
    LinkedList<String> days = new LinkedList<String>();
    days.add("Sunday");
    days.add("Monday");
    days.add("Tuseday");
    days.add("Wednesday");
    days.add("Thursday");
    days.add("Friday");
    days.add("Saturday");
   
    System.out.println(days);
  }
}



output:
[Sunday, Monday, Tuseday, Wednesday, Thursday, Friday, Saturday]

এবার আমরা Sorting করবো, তার জন্য 

Collections.sort(days);

ব্যস হয়ে গেলো, কোন ঝামেলা নেই!!

//Rony Ahmmed BDU-ICTE
import java.util.*;
public class Main {
  public static void main(String[] args) {
    LinkedList<String> days = new LinkedList<String>();
    days.add("Sunday");
    days.add("Monday");
    days.add("Tuseday");
    days.add("Wednesday");
    days.add("Thursday");
    days.add("Friday");
    days.add("Saturday");
   
    Collections.sort(days);
   
    System.out.println(days);
  }
}


আউটপুটঃ
[Friday, Monday, Saturday, Sunday, Thursday, Tuseday, Wednesday]

কি চমৎকার না । আসলেই চমৎকার!! এভাবে আপনি চাইলে যেকোন ডেটা-টাইপের সহজে ক্রম অনুসারে সাজাতে পারবেন। কথা হবে আগামি পোস্টে 

Java interface

             Java Interface #Java_Interface #JAVA_Programming  #100DaysOfJava  #Day25 আজকে আমরা খুবি মজার একটি টপিক নিয়ে কথা বলবো ... সেটা হ...