আমাদের কথা খুঁজে নিন

   

জাভা প্রোগ্রামিং টিউটোরিয়াল............পর্ব-৪ (পার্ট ১)

আসো আসো, সবাই গোল হয়ে বসো, বলো জ আকারে জা, ভ আকারে ভা :) গত পর্বে ছোট একটা Account প্রোগ্রামের কোড দিয়েছিলাম। কোডটা আজকে আরও Detail এ ব্যাখ্যা করব। প্রথম লাইনটা ছিল Public Class MainProg{}। Class এর ব্যাপারে ২য় পর্বে বলেছি। সহজ কথায় যেকোনো জাভা প্রোগ্রাম লেখতে গেলে প্রথমে Class ডিক্লেয়ার করতে হবে।

সব কোডিং হবে ক্লাসের দুইটা ২য় বন্ধনীর ভেতরে। আর ডিক্লারেশনটা হবে এরকম প্রথমে Class accesibility modifier অর্থাৎ Class টা প্রাইভেট না পাবলিক তা বলে দিতে হবে যা উপরের Statement টাতে বলা হয়েছে। পাবলিক মানে অন্য আরেকটা Class এটার Data ব্যাবহার করতে পারবে প্রাইভেট হলে পারবে না। public এর পরে আসে Class। Class লিখে আপনি জাভার Eclipse কম্পাইলার কে বলে দিচ্ছেন যে আপনি একটা ক্লাস তৈরি করতে যাচ্ছেন।

এরপর আসবে Class এর নাম এক্ষেত্রে যার নাম আমরা দিয়েছি MainProg । সংক্ষেপে Structure টা এরকম হবে Accesibility Modifier Class Class Name {} আপনার প্রোগ্রামে একাধিক ক্লাস থাকতে পারে। ধরুন আমাদের Account program এ তিনটা কাজ ছিল ১)নাম, ঠিকানা ও Current Balance দেখানো। ২) গ্রাহককে টাকা জমা রাখার সুযোগ দেয়া। ৩) পরিবর্তিত Balance Process করা ও শো করা।

এখন আমরা ইচ্ছা করলে পুরো প্রোগ্রামের সব কোড শুধু একটা ক্লাসের ভেতরে রাখতে পারি আবার চাইলে কাজ অনুযায়ী ৩ টা আলাদা আলাদা Class তৈরি করতে পারি। আলাদা ক্লাস তৈরি করলে সুবিধা হল যে পরে যদি প্রোগ্রামে কোন সমস্যা হয় তাহলে তা খুজে বের করা সহজ হবে। তাছাড়া প্রোগ্রামটা অনেক লজিকাল ও মেনেজেবল হবে। একাধিক ক্লাসকে একসাথে Package বলা হয় এবং একটি প্যাকেজে যেকোনো একটি ক্লাসে শুধু একটি Main method থাকবে। আমরা সুবিধার খাতিরে আমাদের তিনটা কাজের জন্য তিনটা ক্লাস তৈরি করব ও তিনটা ক্লাসকে আলাদা ভাবে রাখব এবং এদের কাজ অনুযায়ী এদের নাম দেব।

প্রথম ক্লাসের নাম দেয়াই আছে (public class Mainprog)। এই ক্লাসের কাজ হল নাম, ঠিকানা ও Current Balance দেখানো। আমরা আরও দুটি ক্লাস বানাবো যাদের নাম হবে ১)GetDeposit এবং ২)ChangedBalance নাম দেখে নিশ্চয়ই বুঝতে পারছেন এদের কাজ হল যথাক্রমে টাকা জমা রাখা ও পরিবর্তিত balance প্রসেস করা ও দেখানো। এই তিন ক্লাসের মধ্যে শুধু MainProg ক্লাসেই Main method আছে। চাইলে অন্য ক্লাসে একে রাখা জেত কিন্তু সুবিধার জন্য এখানে রাখলাম।

যেহেতু আমরা একবার একটি ক্লাসে main method ব্যাবহার করে ফেলেছি সুতরাং অন্য আর কোন ক্লাসে main method declare করা যাবে না । পুরো প্যাকেজে (তিন ক্লাস মিলে এক প্যাকেজ) যেকোনো এক ক্লাসে একবারই main method declare করা যায় (তথ্যটা খুবই গুরুত্বপূর্ণ সো মাথায় রাখবেন)। যাহোক, এবার আসুন আমাদের ২য় Class মানে GetDeposit ক্লাস কোডিং করা শুরু করি। এর জন্য আপনাকে আরেকবার বাম দিকের কনসোলে গিয়ে Right Button ক্লিক করে ক্লাস select করতে হবে আর তারপর তার নাম দিবেন GetDeposit (নতুন ক্লাস কিভাবে তৈরি করতে হয় জানতে ৩য় পর্ব দেখুন)। প্রথম কাজ Class Declare করা।

কিভাবে করতে হবে?? করা লাগবে না!! কারন Eclipse নিজেই এই কাজটা করে ফেলে যখন আপনি নতুন ক্লাসের কমান্ড দেন। দেখবেন সে নিচের লাইনটা Auto দিয়ে ফেলেছে.... public class GetDeposit {} class declare এর কাজ শেষ এখন আমাদের এর ভেতরে কোড লিখতে হবে যা দিয়ে আমরা গ্রাহককে টাকা জমার সুযোগ দিতে পারি। তো আমরা কি কোড লিখব? প্রথমে দেখুন গ্রাহক যদি টাকা জমা দেয় তাহলে সেই টাকার সংখ্যাটা মেমরিতে কোথাও রাখতে হবে আর তার জন্য একটা Variable দরকার । Variable টা হবে পূর্ণ সংখ্যা অর্থাৎ Integer। সো আমাদের প্রথম কোড হবে একটা Integer Variable ডিক্লেয়ার করা যাতে আমরা গ্রাহকের টাকা জমা রাখব।

লাইনটা হবে int deposit = 0; ডিপোজিট এর value কেন 0 দিলাম? কারন জাভাতে যখন আপনি Variable ডিক্লেয়ার করবেন তখন তার একটা প্রাথমিক মান (Optionally) দিয়ে দিতে হয়। পরে অবশ্যই তা চেঞ্জ করা যাবে। ভেরিয়েবল আর মেমরি রিসার্ভ তো হল। এখন কিবোর্ড থেকে গ্রাহকের input নিতে হবে। এর জন্য একটা method বানাতে হবে ।

মেথড মনে আছে তো? Method মানে কাজ। আমাদের মেথডের নাম দিব getInput মেথড যার কাজ হল গ্রাহকের থেকে টাকা নেয়া। যেকোনো method (Main method ছাড়া) তৈরি করতে হয় প্রথমে public না private সেটা লিখে বা বলে দিতে হয় । public হলে এই মেথড অন্য ক্লাসে (যেমন MainProg ক্লাস বা ChangedBalance ক্লাসে) ব্যাবহার করা যাবে। আর প্রাইভেট হলে যে ক্লাসে এই মেথড আছে (GetDeposit class) শুধু সেই ক্লাস একে ব্যাবহার করতে পারবে।

সো প্রথম word public............... এর পর আসবে Return type.. রিটার্ন টাইপ হল এই মেথড কোন তার কাজ শেষে কোন তথ্য ফেরত দিচ্ছে কি না। Retun Type সাধারনত ৪ ধরনের হয় যেমন Integer (পূর্ণ সংখ্যা), Float (দশমিক যুক্ত সংখ্যা), Double (দশমিক যুক্ত সংখ্যা কিন্তু একটু বড় সাইজের) আর String (Words and Sentences)। আর যদি সে কিছু ফেরত না দেয় তাহলে সেটা হবে void টাইপ। Return Type একটু পরেই বিস্তারিত ব্যাখ্যা করছি আগে মেথডের Structure টা বলা শেষ করে নেই। সো public int int মানে Integer যেহেতু আমাদের getInput method একটা পূর্ণ সংখ্যা (Deposit amount ) ফেরত দিবে next আসবে method এর নাম যা আমরা আগেই জেনেছি সেটা হল getInput public int getInput এরপর দুইটা () মানে First bracket দিতে হবে এর ভেতরে লেখতে হবে int input public int getInput (int input) নেক্সটে আসবে দুইটা সেকেন্ড ব্রেকেট public int getInput (int input){} সো মেথড এর structure হল accessibility modifier return type method name "( return variable)" "{}" এই দুই সেকেন্ড ব্রেকেটের ভেতর কোড লেখব public in getInput (int input){ deposit = input; return input; } দেখুন উপরের মেথডটা এখানে ডিফাইন করা হয়েছে এখনো কাজে লাগানো হয় নি।

মেথড প্রথমে এভাবে ডিফাইন করতে হয় তারপর কাজে লাগাতে হয়। কোথায় কাজে লাগাবো? কাজে লাগাবো MainProg ক্লাসের main method এর ভেতর। একে বলে মেথড কল করা। মেথড কল শুধু মেইন মেথডেই হয়। main method এ আমরা উপরের getInput মেথডটা এভাবে কল করবো ।

public static void main (String []args){ getInput(250); } লক্ষ্য করুন ব্রেকেটের ভেতর ২৫০ সংখ্যাটি দেয়া হয়েছে। প্রথম বন্ধনীর ভেওর যা থাকে তাকে বলে Argument এই আর্গুমেন্ট বা সংখ্যা getInput method নেবে তার defination এর প্রথম ব্রেকেটের ভেতর (int input) নামে আমরা যে একটা টেম্পোরারি variable তৈরি করেছিলাম তাতে ২৫০ assign করবে। সেই input variable আবার class variable যেমন deposit এ তা রেখে দেবে । নিচের ছবিটা দেখলে বুঝতে পারবেন GetDeposit Class এর কাজ শেষ এখন এই ক্লাস থেকে আমাদের MainProg ক্লাসের main method এর ভেতর এর মেথডটা ব্যাবহার করতে হবে। এজন্য আমাদের GetDeposit Class এর একটা object বানাতে হবে মেইনপ্রোগ্রাম ক্লাসে।

এটা করলেই আমরা GetDeposit ক্লাসের সব veriable আর মেথড গুলো MainProg ক্লাসে ব্যাবহার করতে পারব। object হচ্ছে এক ধরনের রেফারেন্স। object সম্পর্কে বিস্তারিত ২য় পর্বে বলেছি। object টা declare করতে হয় এভাবে GetDeposit deposit = new GetDeposit(); এই অবজেক্ট এর নাম deposit এখন আমরা GetDeposit class এর সব variable আর method ব্যাবহার করতে পারব main method এ। যেমন deposit.getinput(); deposit এর পরে একটা . (dot seperator) দিতে হবে।

বাকি অংশ পরবর্তী পার্ট ২ তে.... জাভা প্রোগ্রামিং টিউটোরিয়াল............পর্ব-৩ জাভা প্রোগ্রামিং টিউটোরিয়াল............পর্ব-২ ।

সোর্স: http://www.somewhereinblog.net     দেখা হয়েছে ১৭ বার

এর পর.....

অনলাইনে ছড়িয়ে ছিটিয়ে থাকা কথা গুলোকেই সহজে জানবার সুবিধার জন্য একত্রিত করে আমাদের কথা । এখানে সংগৃহিত কথা গুলোর সত্ব (copyright) সম্পূর্ণভাবে সোর্স সাইটের লেখকের এবং আমাদের কথাতে প্রতিটা কথাতেই সোর্স সাইটের রেফারেন্স লিংক উধৃত আছে ।

প্রাসঙ্গিক আরো কথা
Related contents feature is in beta version.