Class এবং Object এর ধারণা
Class এবং Object হল অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) এর দুটি মূল ধারণা, যা ডি প্রোগ্রামিং ভাষাসহ অনেক প্রোগ্রামিং ভাষায় ব্যবহৃত হয়। এই দুটি ধারণা কোডের পুনঃব্যবহারযোগ্যতা, সংহতি এবং সহজতা নিশ্চিত করে। এখানে Class এবং Object এর মূল ধারণা এবং ব্যবহারের উদাহরণ আলোচনা করা হলো।
1. Class (ক্লাস)
Class হল একটি ব্লুপ্রিন্ট বা টেমপ্লেট যা অবজেক্ট তৈরি করার জন্য ব্যবহৃত হয়। এটি ভেরিয়েবল (অথবা প্রপার্টি) এবং মেথড (অথবা ফাংশন) এর সমষ্টি যা অবজেক্টের গুণাবলী এবং আচরণ (behaviour) সংজ্ঞায়িত করে। ক্লাসের মাধ্যমে আপনি একাধিক অবজেক্ট তৈরি করতে পারেন।
ক্লাসের বৈশিষ্ট্য:
- প্রপার্টি (Properties): ক্লাসের ভেরিয়েবল, যা অবজেক্টের অবস্থাকে বর্ণনা করে।
- মেথড (Methods): ক্লাসের ফাংশন, যা অবজেক্টের আচরণ বা কার্যকারিতা বর্ণনা করে।
ক্লাসের ডিক্লারেশন:
class ClassName {
// প্রপার্টি বা ভেরিয়েবল
int property;
// কনস্ট্রাক্টর
this(int val) {
property = val;
}
// মেথড
void display() {
writeln("Property value is: ", property);
}
}এখানে ClassName একটি ক্লাস, যার একটি প্রপার্টি (property) এবং একটি মেথড (display) রয়েছে। this কনস্ট্রাক্টর ব্যবহার করে প্রপার্টির মান সেট করা হয়।
2. Object (অবজেক্ট)
Object হল ক্লাসের একটি কনক্রিট (প্রকৃত) ইনস্ট্যান্স। এটি ক্লাসের মাধ্যমে তৈরি হয় এবং ক্লাসের প্রপার্টি ও মেথড দ্বারা নির্ধারিত আচরণ এবং গুণাবলী থাকে। একটি ক্লাস একাধিক অবজেক্ট তৈরি করতে পারে, এবং প্রতিটি অবজেক্ট আলাদা আলাদা মান ধারণ করে।
উদাহরণ:
void main() {
// ক্লাসের একটি অবজেক্ট তৈরি করা
ClassName obj = new ClassName(5);
// অবজেক্টের মেথড কল করা
obj.display(); // আউটপুট: Property value is: 5
}এখানে obj একটি অবজেক্ট যা ClassName ক্লাস থেকে তৈরি হয়েছে। এই অবজেক্টে property এর মান ৫ এবং display মেথডের মাধ্যমে এটি আউটপুট করবে।
3. Class এবং Object এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | Class | Object |
|---|---|---|
| ডেফিনিশন | ক্লাস হল একটি টেমপ্লেট বা ব্লুপ্রিন্ট যা অবজেক্ট তৈরি করে। | অবজেক্ট হল ক্লাসের একটি কনক্রিট ইনস্ট্যান্স। |
| মেমরি | ক্লাস নিজে মেমরি বরাদ্দ করে না। | অবজেক্ট তৈরি হলে মেমরি বরাদ্দ হয়। |
| বৈশিষ্ট্য | ক্লাসের মধ্যে প্রপার্টি এবং মেথড থাকে। | অবজেক্টে ক্লাসের প্রপার্টি ও মেথড অনুযায়ী আচরণ থাকে। |
| সংজ্ঞায়ন | একবার ডিফাইন করা হলে, একাধিক অবজেক্ট তৈরি করা যায়। | এক বা একাধিক অবজেক্ট ক্লাস থেকে তৈরি হতে পারে। |
| উদাহরণ | class Car { } | Car myCar = new Car(); |
4. Class এবং Object এর সম্পর্ক
- Class হল ব্লুপ্রিন্ট বা টেমপ্লেট, যা অবজেক্টের আচরণ এবং গুণাবলী সংজ্ঞায়িত করে।
- Object হল সেই ক্লাসের একটি বাস্তব উদাহরণ (instance), যা কোডের মাধ্যমে ব্যবহার হয় এবং প্রকৃত ডেটা ধারণ করে।
5. Class এবং Object এর উদাহরণ
import std.stdio;
// ক্লাস ডিফাইন করা
class Car {
// প্রপার্টি
string model;
int year;
// কনস্ট্রাক্টর
this(string m, int y) {
model = m;
year = y;
}
// মেথড
void displayInfo() {
writeln("Car Model: ", model);
writeln("Car Year: ", year);
}
}
void main() {
// অবজেক্ট তৈরি
Car myCar = new Car("Toyota", 2020);
// অবজেক্টের মেথড কল করা
myCar.displayInfo(); // আউটপুট: Car Model: Toyota, Car Year: 2020
}এখানে, Car একটি ক্লাস, যা একটি গাড়ির মডেল এবং বছর ধারণ করে এবং একটি displayInfo মেথড আছে যা গাড়ির তথ্য প্রদর্শন করে। myCar হল Car ক্লাসের একটি অবজেক্ট, যা ২০২০ সালের টয়োটার মডেল।
সারসংক্ষেপ
- Class হল একটি ব্লুপ্রিন্ট বা টেমপ্লেট যা অবজেক্ট তৈরি করতে ব্যবহৃত হয় এবং এর মধ্যে প্রপার্টি এবং মেথড থাকে।
- Object হল ক্লাসের একটি কনক্রিট ইনস্ট্যান্স যা ক্লাসের বৈশিষ্ট্য এবং আচরণ ধারণ করে।
- Class এবং Object এর মধ্যে সম্পর্ক হল, এক ক্লাস থেকে এক বা একাধিক অবজেক্ট তৈরি করা যায়, এবং এই অবজেক্টগুলো ক্লাসের ডেটা এবং কার্যকলাপের উপর ভিত্তি করে কাজ করে।
Read more