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

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

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

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

গত পর্বে আমরা জাভা প্রোগ্রাম কোডিং করার জন্য প্রয়োজনীয় সফটওয়ার Eclipse ইন্সটল করেছিলাম।
কথা ছিল পরবর্তী পর্বে কোডিং শুরু হবে। কিন্ত কোডিং শুরুর আগে কিছু গুরুত্বপূর্ণ বিষয় সম্পর্কে জেনে নিতে হবে। না জানলে পরে যখন Advanced কনসেপ্ট গুলোতে পা রাখবেন তখন থ মেরে বসে থাকতে হবে।

অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজ যেমন C তে আপনাকে কোন প্রোগ্রাম বানাতে গেলে Step by Step ইন্সট্রাকশন দিতে হবে। ধরা যাক আমরা এমন একটা প্রোগ্রাম তৈরি করবো যা আপনার ব্যাংক একাউন্টের কাজ করবে। তবে এই একাউন্টটা অত্যন্ত বেসিক অর্থাৎ এটা শুধু তিনটা কাজ করতে পারে

১) আপনার একাউন্টে কত টাকা আছে তা দেখাতে পারে।

২) আপনি এতে টাকা জমা রাখতে পারেন।

৩) ধরা যাক আপনি প্রথম বার যখন টাকা রাখলেন তার পরিমান ছিল ৫০০. পরে আরও অতিরিক্ত ২০০ টাকা এই একাউন্টে রাখলেন। এখন এই প্রোগ্রাম আপনাকে পরিবর্তিত Balance যার পরিমান ৭০০/- টাকা দেখাবে। সহজকথায় এই প্রোগ্রাম একাউন্টের Balance Change এর ব্যাপারটা প্রসেস করতে পারে।


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

প্রয়োজনীয় জিনিশপত্র
১) কাঠ, পেরেক, রং ইত্যাদি

প্রয়োজনীয় কাজ

২) পাটাতন বানাও

৩) হাতা, পা বানাও

৪) পেরেক লাগাও

৫) রঙ করো

এখন দেখুন একই ভাবে আমাদের উপরের ব্যাংক একাউন্টের এলগোরিদমটা লিখে ফেলা যায় কি না।

প্রয়োজনীয় জিনিসপত্র

১গ্রাহকের নাম, ঠিকানা, জমাকৃত টাকার পরিমান

প্রয়োজনীয় কাজ

২) প্রাথমিক জমা রাখা টাকা (অর্থাৎ যেকোনো Account খুলতে বাধ্যতামূলক যে টাকা লাগে) শো করা।

৩) গ্রাহককে টাকা জমা দেয়ার সুযোগ দেয়া।

৪) যদি গ্রাহক টাকা জমা দেয় তাহলে পরিবর্তিত Balance চেক করা এবং শো করা।

লক্ষ করুন এই এলগোরিদমে কিছু তথ্য আছে (যেমন নাম, ঠিকানা, জমাকৃত টাকার পরিমান ) আর আছে কিছু কাজ (যেমন টাকা জমা রাখা, Balance চেক করা ইত্যাদি)।

প্রতিটি কম্পিউটার প্রোগ্রামে এরকম কিছু তথ্য (প্রোগ্রামিং এর ভাষায় Variable) এবং কাজ (প্রোগ্রামিং এর ভাষায় Function (C-তে ), Method (Java, C++ এ )) থাকে।


ধরা যাক আমাদের ব্যাঙ্কে গ্রাহকের সংখ্যা ৩ জন। এখন এই তিনজন গ্রাহকের জন্য আলাদা আলাদা একাউন্টের দরকার।

যদিও প্রতিটা একাউন্ট এ তথ্য (Variable) একিরকম (যেমন নাম, ঠিকানা, জমাকৃত টাকা (নাম ও টাকার পরিমান ভিন্ন হতে পারে কিন্তু সবার একাউন্টেই জমাকৃত টাকা ও নামের Variable থাকবে ) এবং এই তিনটি প্রোগ্রামই কিছু মেথড (কাজ) যেমন টাকা জমা রাখা, শো করা ইত্যাদি করবে। যদি আপনি C Programming Language এ এই প্রোগ্রামটা বানাতে চান তাহলে প্রতি একাউন্টের জন্য আলাদা আলাদা ভাবে Coding করা লাগবে।

এমন যদি হত যে আমরা আর্কিটেক্টদের মত Account এর একটা Blueprint বানাতে পারতাম যা থেকে শতশত গ্রাহকের জন্য একাউন্ট বানানো যায়!! প্রতিটি গ্রাহকের জন্য যদি আলাদা কোডিং করার প্রয়োজন না হত তাহলে কত আরামেই না থাকতে পারতাম!


হুম, এখন বুঝতে পারবেন কেন এত সময় ধান ভানতে শিবের গীত গাইলাম।

জাভা Object Oriented programming. এর অর্থ হচ্ছে আপনি প্রতিটা প্রোগ্রামএ কিছু ব্লুপ্রিন্ট (যেমন আমাদের উপরের একাউন্ট Example এর সার্বজনীন তথ্য বা Variable ও কাজ বা Method সমুহ যা সব গ্রাককের একাউন্টের জন্য প্রযোজ্য) তৈরি করবেন (যাকে জাভায় Class বলা হয়) এবং এই ব্লুপ্রিন্ট থেকে Object ( প্রতি গ্রাহকের স্বতন্ত্র Account) বানাতে পারবেন যত খুশি তত।



আপনাকে সালমান এফ রহমান কিংবা সুরঞ্জিতের জন্য প্রত্যেক বার Variable এবং মেথড (কাজ) কোডিং করা লাগবে না। শুধুমাত্র একটা Account object বানাবেন ব্লুপ্রিন্ট থেকে। এক্ষেত্রে আপনাকে Object এ (অর্থাৎ Individual Account ) শুধু কিছু Variable (টাকার পরিমান ) এর ইনফর্মেশন দিতে হবে (যেমন সুরঞ্জিত এর একাউন্টে থাকবে ৭২ লাখ টাকা আর সালমানেরটায় কয়েক হাজার কোটি টাকা :) )
প্রোগ্রামের মেথডগুলো (টাকা জমা রাখার Instruction, balance চেক করার ইন্সট্রাকশন ) প্রতিবার নতুন Account একাউন্টের জন্য কোড করা লাগবে না।

মনে রাখবেন Class হচ্ছে এক ধরনের Draft আর Object হচ্ছে এই Draft এর থেকে তৈরি চিঠি। একটা চিঠিতে স্বাভাবিক ভাবে ঠিকানা, সম্বোধন, মুল বডি থাকবে। প্রেমিকার জন্য চিঠি লেখা হোক আর চাচার জন্যই হোক এতে অবশ্যই ঠিকানা, সম্বোধন, মুল বডি থাকতে হবে । এগুলো ছারা কোন চিঠি লেখা যাবে না।

সুতরাং ঠিকানা, সম্বোধন, মুল বডির Draft হল Blueprint আর প্রেমিকার এবং চাচার জন্য আলাদা আলাদা চিঠি হোল এই ব্লুপ্রিন্ট থেকে বানানো Object. একইভাবে প্রতিটি Account এর ব্লুপ্রিন্ট এ (Class) কিছু সাধারন তথ্য আছে যা সব সতন্ত্র Account (Object) এ থাকে এবং এর থেকে আলাদা আলাদা গ্রাহকের Account (Object ) তৈরি করা যায়। প্রতিটা অবজেক্ট এর তথ্য ভিন্ন হতে পারে কিন্তু এদের Skeleton একরকম।

Object oriented programming এর পুরো ব্যাপারটাই হল Coding instructions গুলোকে অত্যন্ত সুন্দরভাবে organize করা এবং প্রোগ্রামারের পরিশ্রম অর্ধেক কমিয়ে আনা।

জাভা শিখতে হলে এই OOP (Object oriented programming) কনসেপ্ট মাথায় খুব ভাল ভাবে ঢুকিয়ে নিতে হবে। নাহলে এক পা ও এগুতে পারবেন না।

OOP খুব কঠিন মনে হচ্ছে কি? চিন্তা করবেন না, আগামি পর্বগুলোতে OOP ব্যাপারটা আরও Detailed ব্যাখ্যা করা হবে।


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

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

ছবি সংযুক্ত করতে এখানে ড্রাগ করে আনুন অথবা কম্পিউটারের নির্ধারিত স্থান থেকে সংযুক্ত করুন (সর্বোচ্চ ইমেজ সাইজঃ ১০ মেগাবাইট)
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
এই পোস্টটি শেয়ার করতে চাইলে :
আলোচিত ব্লগ

=নিছক স্বপ্ন=

লিখেছেন কাজী ফাতেমা ছবি, ১৯ শে মে, ২০২৪ রাত ৯:৪৮



©কাজী ফাতেমা ছবি
তারপর তুমি আমি ঘুম থেকে জেগে উঠব
চোখ খুলে স্মিত হাসি তোমার ঠোঁটে
তুমি ভুলেই যাবে পিছনে ফেলে আসা সব গল্প,
সাদা পথে হেঁটে যাব আমরা কত সভ্যতা পিছনে ফেলে
কত সহজ... ...বাকিটুকু পড়ুন

একদম চুপ. দেশে আওয়ামী উন্নয়ন হচ্ছে তো?

লিখেছেন তানভির জুমার, ১৯ শে মে, ২০২৪ রাত ১০:৫৯



টাকার দাম কমবে যতো ততোই এটিএম বুথে গ্রাহকরা বেশি টাকা তোলার লিমিট পাবে।
এরপর দেখা যাবে দু তিন জন গ্রাহক‍কেই চাহিদা মতো টাকা দিতে গেলে এটিএম খালি। সকলেই লাখ টাকা তুলবে।
তখন... ...বাকিটুকু পড়ুন

যে গরু দুধ দেয় সেই গরু লাথি মারলেও ভাল।

লিখেছেন মোহাম্মদ গোফরান, ২০ শে মে, ২০২৪ রাত ১২:১৮


০,০,০,২,৩,৫,১৬, ৭,৮,৮,০,৩,৭,৮ কি ভাবছেন? এগুলো কিসের সংখ্যা জানেন কি? দু:খজনক হলেও সত্য যে, এগুলো আজকে ব্লগে আসা প্রথম পাতার ১৪ টি পোস্টের মন্তব্য। ৮,২৭,৯,১২,২২,৪০,৭১,৭১,১২১,৬৭,৯৪,১৯,৬৮, ৯৫,৯৯ এগুলো বিগত ২৪ ঘণ্টায়... ...বাকিটুকু পড়ুন

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

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

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

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

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


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

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

×