অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) এর দুটি গুরুত্বপূর্ণ ধারণা হল ক্লাস (Class) এবং **অবজেক্ট (Object)**। এই দুটি ধারণা প্রোগ্রামিং ভাষায় একসঙ্গে কাজ করে এবং একটি শক্তিশালী ডেভেলপমেন্ট পরিবেশ তৈরি করে। এখানে ক্লাস এবং অবজেক্টের মৌলিক ধারণা ব্যাখ্যা করা হবে।
১. ক্লাস (Class)
ক্লাস হলো একটি ব্লুপ্রিন্ট বা টেমপ্লেট যা অবজেক্ট তৈরি করার জন্য ব্যবহৃত হয়। এটি একটি ডাটা টাইপের মতো কাজ করে যা অবজেক্টের বৈশিষ্ট্য এবং আচরণ নির্ধারণ করে। ক্লাসের মধ্যে ডেটা (প্রপার্টি বা ফিল্ড) এবং ফাংশন (মেথড) থাকে যা ঐ ডেটার উপর কাজ করে।
ক্লাসের গঠন:
type
ClassName = class
// প্রপার্টি বা ভেরিয়েবল
Field1: Integer;
Field2: String;
// মেথড বা ফাংশন
procedure Method1;
function Method2: Integer;
end;- ClassName: ক্লাসের নাম।
- Field1, Field2: ক্লাসের ভেরিয়েবল বা প্রপার্টি, যেগুলি অবজেক্টের অবস্থাকে প্রতিনিধিত্ব করে।
- Method1, Method2: ক্লাসের মধ্যে ফাংশন বা মেথড, যেগুলি অবজেক্টের আচরণ নির্ধারণ করে।
উদাহরণ:
type
Car = class
Brand: string;
Model: string;
Year: Integer;
procedure Start;
begin
writeln('The car is starting');
end;
function GetBrand: string;
begin
Result := Brand;
end;
end;এখানে Car ক্লাসের মধ্যে কিছু প্রপার্টি (যেমন Brand, Model, Year) এবং মেথড (যেমন Start, GetBrand) রয়েছে।
২. অবজেক্ট (Object)
অবজেক্ট হলো একটি ক্লাসের একটি নির্দিষ্ট উদাহরণ (ইনস্ট্যান্স)। যখন একটি ক্লাস ডিফাইন করা হয়, তখন তার ভিত্তিতে অনেকগুলো অবজেক্ট তৈরি করা যেতে পারে। অবজেক্টটি একটি নির্দিষ্ট ক্লাসের প্রপার্টি এবং মেথড ব্যবহার করতে পারে এবং বাস্তব জীবনের উপাদান বা বস্তু হিসেবে কাজ করে।
অবজেক্ট তৈরি এবং ব্যবহার:
var
myCar: Car;
begin
myCar := Car.Create; // অবজেক্ট তৈরি
myCar.Brand := 'Toyota'; // প্রপার্টি অ্যাক্সেস
myCar.Model := 'Corolla';
myCar.Year := 2020;
writeln(myCar.GetBrand); // মেথড কল
myCar.Start; // মেথড কল
myCar.Free; // অবজেক্টের মেমরি মুক্ত করা
end;এখানে:
myCarহলোCarক্লাসের একটি অবজেক্ট।myCar := Car.Createলাইনটি একটি নতুন অবজেক্ট তৈরি করছে।myCar.Brand,myCar.Model,myCar.Yearএই প্রপার্টিগুলি অবজেক্টের মান সেট করছে।myCar.StartএবংmyCar.GetBrandহলো মেথড কল করা।
ক্লাস এবং অবজেক্টের মধ্যে পার্থক্য
| বৈশিষ্ট্য | ক্লাস (Class) | অবজেক্ট (Object) |
|---|---|---|
| সংজ্ঞা | একটি টেমপ্লেট বা ব্লুপ্রিন্ট যা অবজেক্ট তৈরি করার জন্য ব্যবহৃত হয় | একটি নির্দিষ্ট ক্লাসের উদাহরণ বা ইনস্ট্যান্স |
| মেমরি বরাদ্দ | ক্লাসে মেমরি বরাদ্দ করা হয় না | অবজেক্ট তৈরির সময় মেমরি বরাদ্দ হয় |
| এটি কী নির্ধারণ করে? | অবজেক্টের বৈশিষ্ট্য (প্রপার্টি) এবং আচরণ (মেথড) | ক্লাসের ডেটা এবং আচরণ যা বাস্তবে কাজ করে |
| ব্যবহার | অবজেক্ট তৈরির জন্য একটি রূপরেখা | ক্লাসের একটি বাস্তব উদাহরণ হিসেবে ব্যবহৃত হয় |
সারাংশ
- ক্লাস (Class) একটি টেমপ্লেট বা ব্লুপ্রিন্ট যা অবজেক্টের বৈশিষ্ট্য এবং আচরণ নির্ধারণ করে।
- অবজেক্ট (Object) হলো একটি ক্লাসের একটি নির্দিষ্ট উদাহরণ বা ইনস্ট্যান্স যা বাস্তব জীবনের উপাদানকে প্রতিনিধিত্ব করে।
ক্লাস এবং অবজেক্টের মাধ্যমে প্রোগ্রামিং কোডকে আরও সংগঠিত এবং পুনঃব্যবহারযোগ্য করা সম্ভব হয়।
Read more