জাভাস্ক্রিপ্টে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং
ছোট প্রজেক্টের জন্য কোড লেখা সহজ। কিন্তু প্রজেক্ট বড় হওয়ার সাথে সাথে এটি কঠিন হয়ে পড়ে।
একটি কুইজ অ্যাপ (Quiz App) এবং একটি মোবাইল ব্যাংকিং ইউআই (Mobile Banking UI) তৈরির সময় আমি এটি বুঝতে পেরেছি। শুরুতে সাধারণ ফাংশন এবং অবজেক্ট দিয়ে কাজ চললেও, ফিচার যত বাড়তে থাকল, কোড তত অগোছালো হয়ে পড়ল। এটি ঠিক করা এবং পুনরায় ব্যবহার করা কঠিন হয়ে দাঁড়িয়েছিল।
তখনই আমি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) সম্পর্কে জানতে পারি। OOP আপনাকে অবজেক্টের মাধ্যমে কোড গুছিয়ে রাখতে সাহায্য করে। এটি আপনার কাজকে আরও পরিচ্ছন্ন এবং স্কেলেবল (scale) করে তোলে।
জাভাস্ক্রিপ্টে OOP-এর মূল ধারণাগুলো নিচে দেওয়া হলো:
Classes and Objects (ক্লাস এবং অবজেক্ট) একটি ক্লাস হলো একটি ব্লুপ্রিন্ট বা নকশা। আর অবজেক্ট হলো সেই নকশা থেকে তৈরি করা প্রকৃত জিনিস। উদাহরণস্বরূপ, একটি
Carক্লাস নির্ধারণ করে একটি গাড়ি কী। একটি Toyota হলো সেই ক্লাসের একটি অবজেক্ট।Constructors (কনস্ট্রাক্টর) কনস্ট্রাক্টর হলো এমন একটি মেথড যা একটি অবজেক্ট তৈরি করার সময় স্বয়ংক্রিয়ভাবে চলে। এটি আপনার অবজেক্টের প্রাথমিক ডেটা সেটআপ করে।
Inheritance (ইনহেরিটেন্স) একটি ক্লাস অন্য একটি ক্লাসের বৈশিষ্ট্য গ্রহণ করতে পারে। এটি আপনাকে একই কোড বারবার লেখা থেকে মুক্তি দেয়। প্যারেন্ট ক্লাস কল করার জন্য আপনি
super()কিওয়ার্ড ব্যবহার করেন।Encapsulation (এনক্যাপসুলেশন) এর অর্থ হলো ডেটা লুকিয়ে রাখা। আপনি সংবেদনশীল তথ্যগুলোকে প্রাইভেট (private) রাখতে পারেন যাতে কোডের অন্য অংশগুলো ভুলবশত সেগুলো পরিবর্তন করতে না পারে। জাভাস্ক্রিপ্টে প্রাইভেট ফিল্ডের জন্য
#চিহ্ন ব্যবহার করা হয়।Abstraction (অ্যাবস্ট্রাকশন) অ্যাবস্ট্রাকশন জটিল বিষয়গুলো লুকিয়ে রাখে। আপনি কেবল ব্যবহারকারীর প্রয়োজনীয় অংশগুলোই দেখান। একটি কফি মেশিনের কথা ভাবুন। কফি পাওয়ার জন্য আপনি কেবল একটি বোতাম টিপেন। মেশিনটি কীভাবে পানি গরম করে তা জানার প্রয়োজন আপনার নেই।
Polymorphism (পলিমরফিজম) এটি বিভিন্ন ক্লাসকে একই মেথড নাম ব্যবহার করার অনুমতি দেয়, কিন্তু তাদের কাজ করার ধরন ভিন্ন হয়। একটি
Dogক্লাস এবং একটিCatক্লাসে একইspeak()মেথড থাকতে পারে, কিন্তু একটি ঘেউ ঘেউ করবে আর অন্যটি মিউ মিউ করবে।Getters and Setters (গেটার এবং সেটার) এগুলো আপনাকে নিয়ন্ত্রণ করতে দেয় যে মানুষ কীভাবে আপনার ডেটা পড়বে বা পরিবর্তন করবে।
কেন OOP ব্যবহার করবেন?
• আপনি কোড বারবার ব্যবহার করতে পারেন। • আপনার কোড গোছানো থাকে। • রক্ষণাবেক্ষণ (Maintenance) সহজ হয়। • আপনি ত্রুটি বা এরর (errors) কমিয়ে আনতে পারেন।
এই স্তম্ভগুলোতে দক্ষতা অর্জন আপনাকে পেশাদার অ্যাপ্লিকেশন তৈরি করতে সাহায্য করবে।