Fri. Nov 16th, 2018

অবজেক্ট ওরিয়েন্টেড জাভা পর্ব ০১ঃ অবজেক্ট এবং ক্লাস নিয়ে নাড়াচাড়া

জাভা টিউটোরিয়ালের আজকের পর্বে আমরা দেখবো জাভাতে অবজেক্ট এবং ক্লাস নিয়ে কিভাবে কাজ করতে হয় । আমরা সবাই জানি যে জাভা একটি পূর্ণাঙ্গ অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা । আজকে যে টপিকগুলো নিয়ে আলোচনা হবে

১ ) অবজেক্ট এবং ক্লাস কি ?

২ ) অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর ফিচারসমূহ

                ৩ ) অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর সুবিধা

৪ ) অবজেক্ট ওরিয়েন্টেড এবং অবজেক্ট বেসড প্রোগ্রামিং এর মধ্যে পার্থক্য 

৫ ) জাভাতে অবজেক্ট এবং ক্লাস নিয়ে কাজ

 

অবজেক্ট এবং ক্লাস কি ?

আমরা বাস্তবে আমাদের চারপাশে যা কিছুই দেখি সবকিছুই হলো একেকটা অবজেক্ট ।আরেকটু ভালো করে বলতে গেলে বলা যায় যেই বস্তুর উপস্থিতি এবং ব্যবহার থাকবে তাকেই আমরা অবজেক্ট বলতে পারি যেমন টেবিল , চেয়ার ইত্যাদি।  প্রোগ্রামিং এর ক্ষেত্রে ও ঠিক একেইভাবে বলা যায় যার স্টেট এবং ব্যবহার থাকবে সেটাই অবজেক্ট । এটা ফিজিক্যাল কিংবা লজিকেল হতে পারে । অন্যদিকে ক্লাস হচ্ছে অনেকগুলো অবজেক্টের কালেকশন বা সমষ্টি এবং কাজ করে লজিকেলি ।

 

অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর ফিচারসমূহ

অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর অনেক ফিচার রয়েছে যেমন –

১ ) পলিমরফিজমঃ পলিমরফিজম হচ্ছে  একটা কাজকে  বিভিন্নভাবে করার একটা মাধ্যম। মেথড ওভাররাইডিং কিংবা ওভারলোডিং ইউজ করে পলিমরফিজমের কাজ করা যায় ।

২ ) এবস্ট্রাকশনঃ  এবস্ট্রাকশন হচ্ছে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর আরেকটি গুরুত্বপূর্ণ ফিচার। ইমপ্লিমেন্টেশনকে হাইড করা এবং ফিচার দেখানোর প্রক্রিয়াকে একসাথে বলা হয় এবস্ট্রাকশন । জাভাতে Interface এবং Abstract ক্লাসের মাধ্যমে ডাটা এবস্ট্রাকশনের কাজ করা যায় ।

৩ ) ডাটা এনকেপ্সুলেশনঃ অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর ক্ষেত্রে ডাটাকে একটা সিঙ্গেল ইউনিটে বাইন্ড বা রেপিং করাকে ডাটা এনকেপ্সুলেশন বলে । সাধারনত জাভাতে ক্লাসের মাধ্যমে ডাটা এনকেপ্সুলেশনের কাজ করা হয়।

৪ ) ইনহেরিটেন্সেঃ যখন কোন চাইল্ড ক্লাস তার প্যারেন্ট ক্লাসের কোন প্রপার্টি আক্সেস করবে তখন তাকে ইনহেরিটেন্স বলা হয় । ইনহেরিটেন্সের মাধ্যমে রানটাইম পলিমরফিজম এচিভ করা হয়।

অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর সুবিধা

অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর অনেকগুলো সুবিধার মধ্যে রয়েছে –

১ ) কোড রিইউজেবিলিটিঃ কোডকে পুনরায় ব্যবহার করার ক্ষেত্রে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর ভূমিকা অনেক । ইনহেরিটেন্সে ব্যবহার করে সাধারনত কোড রিইউজেবিলিটি এচিভ করা হয় ।

২ ) সহজ ডেভেলপমেন্টঃ  অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং সফটওয়্যার ডেভেলপমেন্টকে অনেক সহজ করে দেয় যেটা কিনা প্রসিডিউরাল প্রোগ্রামিং এর ক্ষেত্রে হয়ে উঠে না । কোডকে মেনেজেবল করার ক্ষেত্রে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর জুড়ি নেই ।

৩ ) ডাটা হাইডিংঃ  অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর সবচেয়ে বড় ফিচার হচ্ছে ডাটা হাইডিং। ডাটা এনকেপ্সুলেশনের মাধ্যমে ডাটা হাইড করা যায় ।আরও অনেক ফিচার রয়েছে তবে এই ফিচারগুলো বেশি উল্লেখযোগ্য।

অবজেক্ট ওরিয়েন্টেড এবং অবজেক্ট বেসড প্রোগ্রামিং এর মধ্যে পার্থক্য 

অবজেক্ট ওরিয়েন্টেড এবং অবজেক্ট বেসড প্রোগ্রামিং ল্যাঙ্গুয়েজের মধ্যে মূল পার্থক্য হচ্ছে ইনহেরিটেন্স । অবজেক্ট বেসড ল্যাঙ্গুয়েজ  ইনহেরিটেন্স  ছাড়া অবজেক্ট ওরিয়েন্টেড এর সব ধরনের ফিচার সাপোর্ট করে । যেমন জাভাস্ক্রিপ্ট  একটি অবজেক্ট বেসড প্রোগ্রামিং ল্যাঙ্গুয়েজ ।

 

জাভাতে অবজেক্ট এবং ক্লাস নিয়ে কাজ

জাভাতে অবজেক্ট নিয়ে কাজ করার প্রথম শর্ত হচ্ছে ক্লাস ডিক্লিয়ার করা। প্রত্যেকটা ক্লাসের এক বা একাধিক অবজেক্ট থাকতে পারে । ক্লাস ডিক্লিয়ার করার জন্য class কিওয়ার্ড ব্যবহার করতে হয়। class কিওয়ার্ডের পর ক্লাসের নাম দিতে হয়

class ClassName{}
class Student{
}

আর অবজেক্ট ডিক্লিয়ার করার জন্য new কিওয়ার্ড ব্যবহার করা হয়।নিচে কোডের মাধ্যমে দেখানো হলো

ClassName reference=new ClassName();
Student studentInfo=new Student();//here new Student is an object and studentInfo is a reference variable

এইভাবে অবজেক্ট তৈরি করে ক্লাসের প্রপার্টি এক্সেস করতে হবে । যেমন –

class Student{
   public void getName(){
     System.out.println("Your name");
   }
}

Student info=new Student();//declearing the object
info.getName();//accessing the getName method using object
//output 'your name'

উপেরের উদাহারন থেকে আমরা বুঝতে পারলাম যে কোন ক্লাসের প্রোপার্টি এক্সেস করতে হলে আমাদের আগে ক্লাসের জন্য অবজেক্ট তৈরি করতে হবে । আরেকটি উদাহরন দেয়া যাক

class Users{
   String name,country;

   public void setName(String name){
      this.name=name;
   }
   
   public void getName(){
      System.out.println("Name : " + name);
   }

   public static void main(String[] args){
      //first create an object
      Users user=new Users();
      user.setName("Tanvir Ahmed");//setting the username
      user.getName();//getting the username.ouputs 'Tanvir Ahmed'
   }
}

উপরের উদাহরণে this কিওয়ার্ড সাধারনত ব্যবহার করা হয় একই ক্লাসের ভেরিয়েবলকে এক্সেস করার জন্য। এই ছিল অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর বেসিক নিয়ে আজকের আলোচনা । ভালো লাগলে শেয়ার করবেন।
 

 

 

Comments

comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: