ম্যাটল্যাব (MATLAB) একটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) ভাষা নয়, তবে এটি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ধারণাকে সমর্থন করে। MATLAB-এ অবজেক্টগুলি ব্যবহার করে আপনি ডেটা এবং ফাংশনগুলোকে একত্রিত করে সেগুলি একসাথে পরিচালনা করতে পারেন। Object Arrays এবং Object Methods হল OOP-তে ব্যবহৃত দুটি গুরুত্বপূর্ণ ধারণা, যা MATLAB-এর ক্লাস এবং অবজেক্ট ব্যবস্থাপনায় সহায়তা করে।
১. Object Arrays (অবজেক্ট অ্যারে)
অবজেক্ট অ্যারে এমন একটি অ্যারে যা একাধিক অবজেক্ট ধারণ করতে পারে। প্রতিটি অবজেক্ট একটি ক্লাসের ইনস্ট্যান্স এবং সেই ক্লাসের বৈশিষ্ট্য এবং ফাংশন (মেথড) ধারণ করে। MATLAB-এ আপনি একটি ক্লাসের একাধিক অবজেক্ট তৈরি করতে পারেন এবং সেগুলি একটি অ্যারেতে সংরক্ষণ করতে পারেন।
Object Array তৈরি করার উদাহরণ:
ধরা যাক, একটি ক্লাস Car তৈরি করা হয়েছে এবং এর মধ্যে একটি বৈশিষ্ট্য speed রয়েছে। আমরা একটি Car ক্লাসের অবজেক্ট অ্যারে তৈরি করতে পারি।
classdef Car
properties
speed % গতি
end
methods
function obj = Car(initialSpeed)
if nargin > 0
obj.speed = initialSpeed;
end
end
function obj = setSpeed(obj, newSpeed)
obj.speed = newSpeed;
end
function dispSpeed(obj)
disp(['Speed: ', num2str(obj.speed), ' km/h']);
end
end
endএখানে Car ক্লাসে একটি প্রপার্টি speed এবং দুটি মেথড setSpeed ও dispSpeed রয়েছে।
Object Array তৈরি করা:
car1 = Car(50); % প্রথম অবজেক্ট
car2 = Car(70); % দ্বিতীয় অবজেক্ট
car3 = Car(90); % তৃতীয় অবজেক্ট
cars = [car1, car2, car3]; % অবজেক্ট অ্যারে তৈরিএখন cars একটি অ্যারে, যা তিনটি Car অবজেক্ট ধারণ করে।
Object Array-এ মেথড ব্যবহার:
for i = 1:length(cars)
cars(i).dispSpeed(); % প্রতিটি কার অবজেক্টের গতি প্রদর্শন
endএখানে, আমরা for লুপ ব্যবহার করে cars অবজেক্ট অ্যারে থেকে প্রতিটি Car অবজেক্টের dispSpeed মেথড কল করছি।
২. Object Methods (অবজেক্ট মেথড)
অবজেক্ট মেথড হল একটি ক্লাসের জন্য ডিফাইন করা ফাংশন, যা ঐ ক্লাসের অবজেক্টের উপর কাজ করে। মেথডগুলি একটি অবজেক্টের প্রপার্টি বা বৈশিষ্ট্যগুলিকে পরিবর্তন বা অ্যাক্সেস করার জন্য ব্যবহৃত হয়।
মেথড ডিফাইন করা:
Car ক্লাসে আমরা দুটি মেথড ডিফাইন করেছি:
setSpeed: এই মেথডটি একটি নতুন গতি সেট করার জন্য ব্যবহৃত হয়।dispSpeed: এই মেথডটি গতি প্রদর্শন করে।
Object Methods ব্যবহার:
car1 = Car(60);
car1.dispSpeed(); % গতি প্রদর্শন করবে
car1 = car1.setSpeed(80); % গতি পরিবর্তন করা
car1.dispSpeed(); % নতুন গতি প্রদর্শন করবেএখানে, প্রথমে car1 অবজেক্টের গতি প্রদর্শন করা হয়েছে, তারপর setSpeed মেথড ব্যবহার করে গতি পরিবর্তন করা হয়েছে, এবং অবশেষে নতুন গতি প্রদর্শন করা হয়েছে।
মেথডের মধ্যে obj ব্যবহার:
MATLAB-এ অবজেক্ট মেথডে obj নামক একটি প্যারামিটার থাকে, যা ঐ অবজেক্টের ইনস্ট্যান্সকে নির্দেশ করে। মেথডের মধ্যে এই obj প্যারামিটার ব্যবহার করে অবজেক্টের প্রপার্টি পরিবর্তন বা অ্যাক্সেস করা হয়।
function obj = setSpeed(obj, newSpeed)
obj.speed = newSpeed; % অবজেক্টের গতি পরিবর্তন করা
endএখানে setSpeed মেথডে obj প্যারামিটার ব্যবহার করা হয়েছে, যা এই ফাংশনের মাধ্যমে গতি পরিবর্তন করে।
Object Methods ও Object Arrays এর সংমিশ্রণ
Object Arrays এর মধ্যে Methods ব্যবহার করা:
আপনি অবজেক্ট অ্যারের মধ্যে একাধিক অবজেক্টের উপর মেথড প্রয়োগ করতে পারেন। যেমন একটি অ্যারের সব অবজেক্টের গতি পরিবর্তন করা:
for i = 1:length(cars)
cars(i) = cars(i).setSpeed(cars(i).speed + 10); % গতি 10 বৃদ্ধি করা
cars(i).dispSpeed(); % নতুন গতি প্রদর্শন
endএখানে, আমরা cars অ্যারের প্রতিটি Car অবজেক্টের গতি 10 বৃদ্ধি করেছি এবং তারপর তা প্রদর্শন করেছি।
সারাংশ:
- Object Arrays: এটি একাধিক অবজেক্ট ধারণ করতে ব্যবহৃত হয়। MATLAB-এ একাধিক অবজেক্টকে একটি অ্যারেতে সংরক্ষণ করা সম্ভব।
- Object Methods: অবজেক্টের জন্য ডিফাইন করা ফাংশনগুলি, যা অবজেক্টের প্রপার্টি বা বৈশিষ্ট্যগুলির উপর কাজ করে। Methods অবজেক্টের কাজ করতে সহায়তা করে এবং তাদের বৈশিষ্ট্য পরিবর্তন বা অ্যাক্সেস করে।
- ব্যবহার: অবজেক্ট অ্যারে এবং মেথডগুলি একত্রে ব্যবহার করে আপনি একাধিক অবজেক্টের উপর কার্যকরী কাজ করতে পারেন, যেমন গতি পরিবর্তন, ডেটা বিশ্লেষণ ইত্যাদি।
Read more