JavaScript OOP: একটি পূর্ণাঙ্গ গাইড

ছোট প্রজেক্টের জন্য কোড লেখা সহজ। কিন্তু বড় অ্যাপের জন্য কোড ম্যানেজ করা কঠিন।

একটি Quiz App এবং একটি Mobile Banking UI তৈরির সময় আমি এটি শিখেছি। শুরুতে সাধারণ ফাংশন এবং অবজেক্ট দিয়ে কাজ চললেও, ফিচার যোগ করার সাথে সাথে কোডটি অগোছালো হয়ে পড়ে। কোডটি পুনরায় ব্যবহার করা কঠিন হয়ে পড়ে এবং ভুল সংশোধন করা আরও বেশি কঠিন হয়ে দাঁড়ায়।

ঠিক তখনই Object-Oriented Programming (OOP) সবকিছু বদলে দেয়।

OOP শুধুমাত্র ফাংশনের পরিবর্তে অবজেক্টের ওপর ভিত্তি করে কোড সাজায়। একটি অবজেক্ট ডেটা (properties) এবং অ্যাকশন (methods) ধারণ করে।

একটি গাড়ির কথা ভাবুন। এর রঙ এবং ব্র্যান্ডের মতো properties আছে। আবার স্টার্ট এবং স্টপ করার মতো actions আছে।

এখানে মূল ধারণাগুলো দেওয়া হলো যা আপনার জানা প্রয়োজন:

• Classes and Objects একটি class হলো একটি ব্লুপ্রিন্ট বা নকশা। আর একটি object হলো সেই নকশা থেকে তৈরি করা প্রকৃত জিনিস।

• Constructors একটি constructor হলো একটি বিশেষ method। যখন আপনি একটি নতুন object তৈরি করেন, তখন এর ডেটা সেটআপ করার জন্য এটি স্বয়ংক্রিয়ভাবে চলে।

• Inheritance এটি একটি class-কে অন্য একটি class থেকে বৈশিষ্ট্য গ্রহণ করতে সাহায্য করে। এটি আপনাকে একই কোড বারবার লেখা থেকে মুক্তি দেয়। parent class কল করার জন্য super() keyword ব্যবহার করুন।

• Encapsulation এটি ডেটাকে সুরক্ষিত রাখে। আপনি অভ্যন্তরীণ বিষয়গুলো লুকিয়ে রাখেন এবং শুধুমাত্র প্রয়োজনীয় অংশটুকু প্রদর্শন করেন। JavaScript-এ field-গুলোকে private করার জন্য # symbol ব্যবহার করুন।

• Abstraction এটি জটিল লজিক লুকিয়ে রাখে। অভ্যন্তরীণ প্রক্রিয়া কীভাবে কাজ করছে তা না জেনেই আপনি একটি সহজ ইন্টারফেসের মাধ্যমে কাজ করতে পারেন।

• Polymorphism এটি বিভিন্ন class-কে একই method name ব্যবহার করার অনুমতি দেয়, কিন্তু তারা ভিন্ন ভিন্ন কাজ করে। যেমন, একটি প্রাণী ঘেউ ঘেউ করতে পারে আবার অন্যটি মিউ মিউ করতে পারে।

• Getters and Setters এগুলো আপনাকে নিয়ন্ত্রণ করতে সাহায্য করে যে কীভাবে মানুষ আপনার ডেটা অ্যাক্সেস বা পরিবর্তন করবে।

কেন OOP ব্যবহার করবেন?

এই স্তম্ভগুলোতে দক্ষতা অর্জন আপনাকে একজন উন্নত ডেভেলপার হিসেবে গড়ে তুলবে। আপনার পরবর্তী ড্যাশবোর্ড বা ই-কমার্স প্রজেক্টে এই ধারণাগুলো ব্যবহার করার চেষ্টা করুন।

উৎস: https://dev.to/rafsan-jany-ratul/object-oriented-programming-oop-in-javascript-a-complete-guide-with-real-world-examples-4l54