অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) এর মূল ধারণাগুলির মধ্যে ক্লাস এবং অবজেক্ট অন্যতম। এগুলি প্রোগ্রামিং ভাষায় কোডের পুনঃব্যবহারযোগ্যতা এবং মডুলারিটি তৈরি করতে সহায়তা করে।
নিচে ক্লাস এবং অবজেক্ট এর মৌলিক ধারণা এবং তাদের মধ্যে পার্থক্য বিস্তারিতভাবে আলোচনা করা হলো।
১. ক্লাস (Class)
ক্লাস হল একটি নীলনকশা বা ব্লুপ্রিন্ট যা একটি নির্দিষ্ট ধরনের অবজেক্ট তৈরি করতে ব্যবহৃত হয়। ক্লাসটি একটি প্রোগ্রামে একই ধরনের অবজেক্টের মধ্যে সাধারণ গুণাবলী ও আচরণ সংজ্ঞায়িত করে।
- ক্লাস হল একটি ডেটা টাইপ যা একটি নির্দিষ্ট ধরনের অবজেক্টের জন্য ডেটা এবং ফাংশন (মেথড) সংজ্ঞায়িত করে।
- ক্লাসে ডেটা মেম্বার (প্রপার্টি) এবং মেথড (ফাংশন) থাকতে পারে।
- ক্লাসের মাধ্যমে একাধিক অবজেক্ট তৈরি করা যেতে পারে।
উদাহরণ:
// Car ক্লাসের ডিফিনেশন
@interface Car : NSObject
@property NSString *model; // প্রপার্টি
@property int year; // প্রপার্টি
- (void) displayCarDetails; // মেথড ডিফিনেশন
@endএখানে Car একটি ক্লাস যা দুটি প্রপার্টি (model এবং year) এবং একটি মেথড (displayCarDetails) সংজ্ঞায়িত করে। এই ক্লাসটির ভিত্তিতে একাধিক Car অবজেক্ট তৈরি করা যেতে পারে।
২. অবজেক্ট (Object)
অবজেক্ট হল একটি ক্লাসের ইনস্ট্যান্স, অর্থাৎ এটি ক্লাসের একটি বাস্তব উদাহরণ। অবজেক্টের মধ্যে ক্লাসের সমস্ত প্রপার্টি ও মেথড থাকবে, তবে তার মান বা অ্যাট্রিবিউট পৃথক হতে পারে।
- অবজেক্ট হল একটি কার্যকরী ইউনিট যা ক্লাসের নির্ধারিত আচরণ (মেথড) অনুসরণ করে।
- একাধিক অবজেক্ট একটি ক্লাস থেকে তৈরি করা যেতে পারে এবং তারা নিজেদের মধ্যে আলাদা ডেটা রাখবে।
উদাহরণ:
// Car ক্লাসের অবজেক্ট তৈরি
Car *myCar = [[Car alloc] init]; // নতুন অবজেক্ট তৈরি
// অবজেক্টের প্রপার্টি সেট করা
myCar.model = @"Tesla Model 3";
myCar.year = 2022;
// অবজেক্টের মেথড কল করা
[myCar displayCarDetails];এখানে myCar হল একটি অবজেক্ট, যা Car ক্লাসের একটি ইনস্ট্যান্স। অবজেক্ট myCar এর মাধ্যমে আপনি model এবং year প্রপার্টি অ্যাক্সেস করতে পারেন এবং displayCarDetails মেথড কল করতে পারেন।
ক্লাস এবং অবজেক্টের মধ্যে পার্থক্য
| বৈশিষ্ট্য | ক্লাস | অবজেক্ট |
|---|---|---|
| সংজ্ঞা | একটি নীলনকশা বা ব্লুপ্রিন্ট | ক্লাসের একটি ইনস্ট্যান্স বা বাস্তব উদাহরণ |
| ব্যবহার | অবজেক্ট তৈরি করার জন্য | ক্লাসের থেকে তৈরি হওয়া একটি কার্যকরী ইউনিট |
| ডেটা | ক্লাসে শুধুমাত্র প্রপার্টি ও মেথড থাকে | অবজেক্টে ডেটা বা ভ্যালু থাকে |
| সংশ্লিষ্টতা | একটি অ্যাবস্ট্রাক্ট কনসেপ্ট | একটি কনক্রিট অবজেক্ট বা বাস্তব উদাহরণ |
সারাংশ
- ক্লাস হল একটি নীলনকশা বা ব্লুপ্রিন্ট যা অবজেক্টের গঠন এবং আচরণ সংজ্ঞায়িত করে।
- অবজেক্ট হল ক্লাসের একটি বাস্তব উদাহরণ, যা নিজস্ব ডেটা এবং কার্যক্ষমতা রাখে।
এই দুটি ধারণা একসাথে কাজ করে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং এর মূল ভিত্তি তৈরি করে, যার মাধ্যমে কোডের পুনঃব্যবহারযোগ্যতা, মডুলারিটি এবং আরও সহজ রক্ষণাবেক্ষণ সম্ভব হয়।
Read more