somewhere in... blog
x
ফোনেটিক ইউনিজয় বিজয়

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

২৬ শে আগস্ট, ২০১২ দুপুর ১:৫৭
এই পোস্টটি শেয়ার করতে চাইলে :

গত পর্বে ছোট একটা 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) দিতে হবে।

বাকি অংশ পরবর্তী পার্ট ২ তে....

জাভা প্রোগ্রামিং টিউটোরিয়াল............পর্ব-৩

জাভা প্রোগ্রামিং টিউটোরিয়াল............পর্ব-২
সর্বশেষ এডিট : ২৬ শে আগস্ট, ২০১২ দুপুর ২:০৪
২টি মন্তব্য ২টি উত্তর

আপনার মন্তব্য লিখুন

ছবি সংযুক্ত করতে এখানে ড্রাগ করে আনুন অথবা কম্পিউটারের নির্ধারিত স্থান থেকে সংযুক্ত করুন (সর্বোচ্চ ইমেজ সাইজঃ ১০ মেগাবাইট)
Shore O Shore A Hrosho I Dirgho I Hrosho U Dirgho U Ri E OI O OU Ka Kha Ga Gha Uma Cha Chha Ja Jha Yon To TTho Do Dho MurdhonNo TTo Tho DDo DDho No Po Fo Bo Vo Mo Ontoshto Zo Ro Lo Talobyo Sho Murdhonyo So Dontyo So Ho Zukto Kho Doye Bindu Ro Dhoye Bindu Ro Ontosthyo Yo Khondo Tto Uniswor Bisworgo Chondro Bindu A Kar E Kar O Kar Hrosho I Kar Dirgho I Kar Hrosho U Kar Dirgho U Kar Ou Kar Oi Kar Joiner Ro Fola Zo Fola Ref Ri Kar Hoshonto Doi Bo Dari SpaceBar
এই পোস্টটি শেয়ার করতে চাইলে :
আলোচিত ব্লগ

কোরআন কী পোড়ানো যায়!

লিখেছেন সায়েমুজজ্জামান, ২০ শে মে, ২০২৪ সকাল ১০:৩৮

আমি বেশ কয়েকজন আরবীভাষী সহপাঠি পেয়েছি । তাদের মধ্যে দু'এক জন আবার নাস্তিক। একজনের সাথে কোরআন নিয়ে কথা হয়েছিল। সে আমাকে জানালো, কোরআনে অনেক ভুল আছে। তাকে বললাম, দেখাও কোথায় কোথায় ভুল... ...বাকিটুকু পড়ুন

সেঞ্চুরী’তম

লিখেছেন আলমগীর সরকার লিটন, ২০ শে মে, ২০২৪ সকাল ১১:১৪


লাকী দার ৫০তম জন্মদিনের লাল গোপালের শুভেচ্ছা

দক্ষিণা জানালাটা খুলে গেছে আজ
৫০তম বছর উকি ঝুকি, যাকে বলে
হাফ সেঞ্চুরি-হাফ সেঞ্চুরি;
রোজ বট ছায়া তলে বসে থাকতাম
আর ভিন্ন বাতাসের গন্ধ
নাকের এক স্বাদে... ...বাকিটুকু পড়ুন

ইরানের প্রেসিডেন্ট কি ইসরায়েলি হামলার শিকার? নাকি এর পিছে অতৃপ্ত আত্মা?

লিখেছেন ...নিপুণ কথন..., ২০ শে মে, ২০২৪ সকাল ১১:৩৯


ইরানের প্রেসিডেন্ট হেলিকপ্টার বিধ্বস্ত হয়ে নিহত!?

বাঙালি মুমিনরা যেমন সারাদিন ইহুদিদের গালি দেয়, তাও আবার ইহুদির ফেসবুকে এসেই! ইসরায়েল আর।আমেরিকাকে হুমকি দেয়া ইরানের প্রেসিডেন্টও তেমন ৪৫+ বছরের পুরাতন আমেরিকান হেলিকপ্টারে... ...বাকিটুকু পড়ুন

ভণ্ড মুসলমান

লিখেছেন এম ডি মুসা, ২০ শে মে, ২০২৪ দুপুর ১:২৬

ওরে মুসলিম ধর্ম তোমার টুপি পাঞ্জাবী মাথার মুকুট,
মনের ভেতর শয়তানি এক নিজের স্বার্থে চলে খুটখাট।
সবই যখন খোদার হুকুম শয়তানি করে কে?
খোদার উপর চাপিয়ে দিতেই খোদা কি-বলছে?

মানুষ ঠকিয়ে খোদার হুকুম শয়তানি... ...বাকিটুকু পড়ুন

আসবে তুমি কবে ?

লিখেছেন সেলিম আনোয়ার, ২০ শে মে, ২০২৪ দুপুর ১:৪২



আজি আমার আঙিনায়
তোমার দেখা নাই,
কোথায় তোমায় পাই?
বিশ্ব বিবেকের কাছে
প্রশ্ন রেখে যাই।
তুমি থাকো যে দূরে
আমার স্পর্শের বাহিরে,
আমি থাকিগো অপেক্ষায়।
আসবে যে তুমি কবে ?
কবে হবেগো ঠাঁই আমার ?
... ...বাকিটুকু পড়ুন

×