রবিবার, ১৯ ফেব্রুয়ারী, ২০১৭

জাভা প্রোগ্রাম এর উপাদান সমূহ

জাভা প্রোগ্রাম এর উপাদান ঃ

এবার তাহলে মূল বিষয়, সিনট্যাক্স নিয়ে কথা বলা যাক । আপনি যদি সি বা অন্য কোন প্রোগ্রামিং ভাষা আগে থেকে জেনে থাকেন তাহলে জানেন যে , একটি প্রোগ্রাম এর দুটি জিনিস আবশ্যক । ফাংশন এবং ডেটা । সি এর মত জাভাতে একটি ফাইল তৈরী করতে হবে যার এক্সটেন্সান হবে *.java ।
উদাহরণস্বরূপ   HelloWorld.java ।

ফাংশন এবং ডেটা এর সঙ্গে একটি জাভা প্রোগ্রাম এ নিচের উপাদান গুলো থাকে ঃ-

  • প্যাকেজ ডিক্লিয়ারেশন(Package Declaration) ,
  • ইমপোর্ট স্টেটমেন্ট (Import Statement),
  • টাইপ ডিক্লারেশন (Type declaration)
    • ফিল্ডস (Fields)
    • মেথডস (Methods)
এখন আমরা একটি জাভা প্রোগ্রাম দেখে নেই ।



এই কোডটির সুরুতেই রয়েছে প্যাকেজ ডিক্লিয়ারেশন (Package Declaration) ।

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

প্যাকেজ এর নাম ছোট  হাতের (Lowercase letter ) লিখতে হয় ।

বিভিন্ন সফটওয়ারে কোম্পানি গুলো তাদের প্যাকেজ নেম সাধারণত তাদের ডোমেইন নেম কে উল্টো করে লেখে । যেমন ঃ example.com কে com.example আকারে লিখে ।

প্রোগ্রাম এর দ্বিতীয় লাইনটি হলো ইমপোর্ট স্টেটমেন্ট  (Import Statement)।

অন্যকোন প্যাকেজ এর ক্লাস যদি এই প্রগ্রামটিতে দরকার হয় তাহলে সেটি এভাবে ইমপোর্ট  করা যায়। এটি সি প্রগ্রামিং এর ইনক্ল ুড (#include) স্টেটমেন্ট এর মত।
এর পরের লাইন টি হল টাইপ ডিক্লারেশন (Type declaration) ।

জাভাতে একটি টাইপ একটি ক্লাস (class) অথবা ইন্টারফেস(Interface) অথবা এনাম (enum) হতে পারে । ক্লাস এর ক্ষেত্রে class কীওয়ার্ড  লিখে  একটি নাম দিতে হয় । এরপর ওপেনিং কারল্ব্রেকেট এবং ক্লোজ কারল্ব্রেকেট  দিয়ে শেষ করতে হয়। এখানে অতিরিক্ত একটি  public কীওয়ার্ড  দেখা যাচ্ছে । এখন শুধু এতটুকু মনে রাখুন । পরবর্তী এই টা নিয়ে আলোচনা করা হবে ।

এর পরে রয়েছে ফিল্ড ডিক্লারেশন (Fields declaration) ।

আমরা যে ভ্যারিয়েবল ডিক্লেয়ার করি সেগুলো ।

protected final String Hello = "Value"; 

এর পরে রয়েছে একটি মেথড (Method) ।

সি বা অন্যান্য প্রগ্রামিং ভাষায় যাকে ফাংশন কিংবা সাব্রুটিন (Subroutine) বলা হয়, জাভা তে একে মেথড (Method) বলা হয় । এদের মধ্যে বিশেষ কোন পার্থক্য নেই । শুধু জাভাতে ক্লাস এর মধ্যে লেখা হয় আর অনন্যা প্রসিডিউরাল (Procedural) প্রোগ্রামিং এ ক্লাস এর ধারণা নেই ।

এখানে মেথড টি হচ্ছে 

public static void main(String[] args){
                                                             
}

একটি জাভা প্রোগ্রাম মূলত কত গুলো ধারাবাহিক ইন্সট্রাকশন (Instruction) এর তালিকা।
এগুলো নিদিষ্ট অর্ডার (Order) এ এক্সিকিউট হয় । সেক্ষেত্রে এই ইন্সট্রাকশন গুলো রান করার জন্য একটি এন্ট্রি পয়েন্ট থাকতে হয় । মেইন মেথড হচ্ছে সেই এন্ট্রি পয়েন্ট যেখান থেকে কোড রান করা সুরু করে। এটি মূলতও একটি প্রচলিত রীতি (Convention) । 
অনেক গুলি প্রগ্রামিং ভাষার এই কনভেনশন টি রয়েছে ।




শনিবার, ১৮ ফেব্রুয়ারী, ২০১৭

আপনি শিখেন এবং অন্যকে শিখতে সাহায্যে করেন .: আপনি শিখেন এবং অন্যকে শিখতে সাহায্যে করেন.

অবজেক্ট(Object)
--------------------------
যেহেতু জাভা একটি object oriented programming ভাষা সেহেতু অবজেক্ট কী জানতে হবে । অবজেক্ট এর আভিধানিক অর্থ হল বস্তু , যাকে স্পর্শ করা যায় , যা স্থান দখল করে । তবে মানুষ হিশাবে আমাদের কল্পনা সক্তি অনেক । আমরা অনেক কিছু মনে মনে কল্পনা করে নিতে পারি । মনে করুন একটি বাইসাইকেল । বাইসাইকেল এর কথা মনে করলে এর একটা চিত্র চলে আসে । আমরা এর বৈশিষ্ট্য গুলো জানি , যেমন ঃ এর দুইটি প্যাডেল আছে , বসার জন্য সিট আছে , দুইটি ব্রেক আছে ইত্যাদি । অর্থাৎ এর কাজ গুলো আমরা জানি । যেমন ঃ প্যাডেল ঘুরালে এর চাকা ঘুরে , ব্রেক কষলে থেমে যায় ইত্যাদি । দেখা যাছে যে আমরা এর আচরণ এবং অবস্থা আলাদা করতে পারি । এই আচরণ এবং অবস্থা নিয়ে বাইসাইকেল একটি অবজেক্ট।

আমরা যদি আমদের কল্পনাকে আর একটু বারিয়ে নিয়ে বলি বাইসাইকেল হচ্ছে একটি সফটওয়্যার কম্পোনেন্ট বা একটি প্রোগ্রাম যা কিনা কম্পিউটার এ চলে ।

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

ক্লাস(class)
--------------------------
মনে করি আপনি থাকার জন্য একটি বহুতল বাড়ি তৈরি করতে চান । এর জন্য প্রথমে আপনার মাথায় যে চিন্তা গুলো আসবে, সে গুলো হলে এটি কত বড় হবে , কয়টা ফ্ল্যাট হবে , ফ্লাতগুলো কত বর্গফুট হবে ইত্যাদি । এগুলো ঠিক হয়ে গেলে আপনি ছিন্তা করবেন আরও জটিল বিষয় নিয়ে । ওয়ারিং কেমন হবে, টাইলস কেমন বসাবেন , পানির লাইন কেমন হবে ইত্যাদি ।

অর্থাৎ বাড়ি বানানোর আগে আপনাকে সব কিছু নির্ধারণ করে ফেলতে হবে । এরপর বিষয় গুলো কথায়ও লিপিবদ্ধ করবেন । এর একটি নাম আছে । একে বলা হয় ব্লুপ্রিন্ট(blueprint)।

এক্ষেত্রে বাড়িটি হচ্ছে অবজেক্ট আর এই অবজেক্ট তৈরির আগে যে ব্লুপ্রিন্ট(blueprint) তৈরি করা হয়েছে তাহলো ক্লাস(class) ।

আপনি শিখেন এবং অন্যকে শিখতে সাহায্যে করেন .: How to Convert PSD TO HTML5, CSS3 step-by-step , R...

অবজেক্ট(Object)
--------------------------
যেহেতু জাভা একটি object oriented programming ভাষা সেহেতু অবজেক্ট কী জানতে হবে । অবজেক্ট এর আভিধানিক অর্থ হল বস্তু , যাকে স্পর্শ করা যায় , যা স্থান দখল করে । তবে মানুষ হিশাবে আমাদের কল্পনা সক্তি অনেক । আমরা অনেক কিছু মনে মনে কল্পনা করে নিতে পারি । মনে করুন একটি বাইসাইকেল । বাইসাইকেল এর কথা মনে করলে এর একটা চিত্র চলে আসে । আমরা এর বৈশিষ্ট্য গুলো জানি , যেমন ঃ এর দুইটি প্যাডেল আছে , বসার জন্য সিট আছে , দুইটি ব্রেক আছে ইত্যাদি । অর্থাৎ এর কাজ গুলো আমরা জানি । যেমন ঃ প্যাডেল ঘুরালে এর চাকা ঘুরে , ব্রেক কষলে থেমে যায় ইত্যাদি । দেখা যাছে যে আমরা এর আচরণ এবং অবস্থা আলাদা করতে পারি । এই আচরণ এবং অবস্থা নিয়ে বাইসাইকেল একটি অবজেক্ট।

আমরা যদি আমদের কল্পনাকে আর একটু বারিয়ে নিয়ে বলি বাইসাইকেল হচ্ছে একটি সফটওয়্যার কম্পোনেন্ট বা একটি প্রোগ্রাম যা কিনা কম্পিউটার এ চলে ।

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

ক্লাস(class)
--------------------------
মনে করি আপনি থাকার জন্য একটি বহুতল বাড়ি তৈরি করতে চান । এর জন্য প্রথমে আপনার মাথায় যে চিন্তা গুলো আসবে, সে গুলো হলে এটি কত বড় হবে , কয়টা ফ্ল্যাট হবে , ফ্লাতগুলো কত বর্গফুট হবে ইত্যাদি । এগুলো ঠিক হয়ে গেলে আপনি ছিন্তা করবেন আরও জটিল বিষয় নিয়ে । ওয়ারিং কেমন হবে, টাইলস কেমন বসাবেন , পানির লাইন কেমন হবে ইত্যাদি ।

অর্থাৎ বাড়ি বানানোর আগে আপনাকে সব কিছু নির্ধারণ করে ফেলতে হবে । এরপর বিষয় গুলো কথায়ও লিপিবদ্ধ করবেন । এর একটি নাম আছে । একে বলা হয় ব্লুপ্রিন্ট(blueprint)।

এক্ষেত্রে বাড়িটি হচ্ছে অবজেক্ট আর এই অবজেক্ট তৈরির আগে যে ব্লুপ্রিন্ট(blueprint) তৈরি করা হয়েছে তাহলো ক্লাস(class) ।