উদাহরণসহ অবজেক্ট, ক্লাস ও অ্যাট্রিবিউট-এর বর্ণনা I প্রোগ্রামিং ল্যাংগুয়েজ ৩

আমাদের আজকের আলোচনার বিষয় উদাহরণসহ অবজেক্ট, ক্লাস ও অ্যাট্রিবিউট-এর বর্ণনা – যা অধ্যায় ১ অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং এর অন্তর্ভুক্ত। বর্তমান বিশ্বের সর্বাধুনিক প্রযুক্তি হচ্ছে কম্পিউটার প্রযুক্তি। কারণ শিল্পকারখানা, গবেষণা, শিক্ষাপ্রতিষ্ঠান, চিকিৎসাশাস্ত্র ইত্যাদি সকল ক্ষেত্রই আজ কম্পিউটার অটোমেটেড। কম্পিউটার অটোমেশনের সঙ্গে কম্পিউটার প্রোগ্রামিং ও প্রোগ্রামিং লেখার জন্য প্রোগ্রামিং ল্যাংগুয়েজ অত্যন্ত গুরুত্বপূর্ণ।

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

 

উদাহরণসহ অবজেক্ট, ক্লাস ও অ্যাট্রিবিউট-এর বর্ণনা I প্রোগ্রামিং ল্যাংগুয়েজ ৩

 

উদাহরণসহ অবজেক্ট, ক্লাস ও অ্যাট্রিবিউট-এর বর্ণনা

অবজেক্ট (Object) : অবজেক্ট বলতে সাধারণত কোন বস্তুকে বুঝায়। যেমন- মানুষ, বই, খাতা, পেন্সিল, কলম, পৃথিবী ইত্যাদি। প্রতিটি অবজেক্টের কিছু সাধারণ (Common) বৈশিষ্ট্য থাকে আবার কিছু নিজস্ব বৈশিষ্ট্যও থাকে যাদের মাধ্যমে একটি অবজেক্টকে অন্য একটি অবজেক্ট থেকে আলাদা করা যায়।

অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং (OOP) এর ক্ষেত্রে ক্লাস (Class) এ ব্যবহৃত ভেরিয়েবল (Variable) সমূহের প্রত্যেকটিকে এক একটি অবজেক্ট (Object) বলা হয়।
উদাহরণস্বরূপ বলা যায়, যদি প্রোগ্রামে Student নামে কোন Class থাকে তবে ঐ Class এ ব্যবহৃত ভেরিয়েবলসমূহ (Name, Roll, Session, GPA ইত্যাদি) এক একটি অবজেক্ট।

মূলত একটি ক্লাস তৈরির পর প্রোগ্রামে সেই ক্লাস এর কোন ভেরিয়েবল ডিক্লেয়ার করে প্রোগ্রামে মূল অবজেক্টকে উপস্থাপন করা হয়। তাই বলা যায় প্রোগ্রামে ক্লাস (Class) হল কোন অবজেক্টের লজিক্যাল রিপ্রেজেন্টেশন (Logical reprentation) আর সেই ক্লাস এর ভেরিয়েবল হল সেই অবজেক্টের ফিজিক্যাল রিপ্রেজেন্টেশন (Physical representation)

প্রতিটি অবজেক্টে কিছু ডাটা এবং ঐ ডাটা এক্সেস করার জন্য কিছু ফাংশন থাকে। সাধারণত বাহিরের অন্য কোন ফাংশন দ্বারা এই ডাটা এক্সেস করা যায় না। ফাংশন গুলোর মাধ্যমে একটি অবজেক্ট অন্য এক বা একাধিক অবজেক্টের সাথে যোগাযোগ রক্ষা করে।

অবজেক্ট মেমোরিতে স্থান দখল করে এবং প্রতিটি অবজেক্টের একটি মেমোরি অ্যাড্রেস থাকে। প্রতিটি অবজেক্ট মেমোরিতে আলাদা স্থানে থাকে। যেহেতু প্রতিটি অবজেক্টের মেমোরি অ্যাড্রেস আলাদা, সেহেতু একই প্রোগ্রামে একাধিক অবজেক্ট কিংবা একই অবজেক্ট একাধিক প্রোগ্রামে ব্যবহার করলেও একটি অবজেক্ট অন্য একটির সাথে মিশে যায় না। প্রোগ্রাম নির্বাহের সময় অবজেক্টসমূহ ম্যাসেজ আদান-প্রদানের মাধ্যমে একে অপরের সাথে যোগাযোগ করে।

প্রোগ্রামে প্রথমে কোন ক্লাস (Class) ডিক্লেয়ার করতে হয়। অতঃপর ঐ ক্লাসের অধীনে এক বা একাধিক অবজেক্ট ঘোষণা করা যায়। যেমন- Student নামক ক্লাসের Student1, Student2, Student3,, StudentN নামের অবজেক্টগুলোকে নিম্নলিখিতরূপে ঘোষণা করা যায় :

Student Student1, Student2, Student3, StudentN;

একই অবজেক্টের ডাটা এবং ফাংশনসমূহের ক্রিয়াকলাপ বিভিন্নজন বিভিন্নভাবে বর্ণনা করেন। নিম্নে Student1 নামের অবজেক্টটিকে দু’টি উপায়ে রিপ্রেজেন্ট করে দেখানো হল।

 

উদাহরণসহ অবজেক্ট, ক্লাস ও অ্যাট্রিবিউট-এর বর্ণনা

 

ক্লাস (Class): সাধারণভাবে ক্লাস (Class) হল একই ধরনের কতগুলো অবজেক্টের সমন্বিত নাম। যেমন- ‘পাখিকে’ একটি ক্লাস বিবেচনা করলে ‘কাক, কোকিল, টিয়া, ময়না, বুলবুলি’ ইত্যাদি ঐ ক্লাসের এক একটি ‘অবজেক্ট (Object)। অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং এর ক্ষেত্রেও ক্লাস একই অর্থ বহন করে। কাজেই ক্লাস (Class) হচ্ছে এক ধরনের ইউজার ডিফাইন্ড ডাটা টাইপ যাতে একই শ্রেণির বা গোত্রের এক বা একাধিক অবজেক্ট থাকে।

এটি প্রোগ্রামে বিল্ট-ইন ডাটা টাইপের ন্যায় কাজ করে। একটি ক্লাসে বিল্ট-ইন ডাটা টাইপের কয়েকটি ভেরিয়েবল এবং ঐ ভেরিয়েবলগুলোকে এক্সেস (Access) করার জন্য কতগুলো ফাংশন থাকে। প্রয়োজন অনুযায়ী প্রোগ্রামে কোন ক্লাস ঘোষণা করা হয়। প্রোগ্রামে এক বা একাধিক ক্লাস থাকতে পারে। পূর্বে তৈরি করা কোন ক্লাসকে কোনরূপ পরিবর্তন ছাড়া কিংবা নতুন কোন বৈশিষ্ট্য যোগ করে অন্য কোন প্রোগ্রামে ব্যবহার করা যায়।

ক্লাস ঘোষণার জন্য class কীওয়ার্ড-এর পর ঐ ক্লাসের নাম দিতে হয়। ক্লাস বডি দ্বিতীয় বন্ধনী’।।’ দ্বারা সীমাবদ্ধ থাকে এবং সেমিকোলন (;) দ্বারা শেষ হয়। ক্লাস বডি’তে ক্লাসের মেম্বার ভেরিয়েবল এবং মেম্বার ফাংশন থাকে। ক্লাসের ভৈরিয়েবলগুলোকে মেম্বর ভেরিয়েবল এবং ফাংশনগুলোকে মেম্বার ফাংশন বা সংক্ষেপে মেথড বলা হয়। নিম্নে Student নামের একটি নমুনা ক্লাসের ফরম্যাট বা উদাহরণ দেখান হল :

class Student

{

private:                 // private accessibility mode

long Roll;
char Name [20];
float Marks;

public:                  // public accessibility mode

void GetData { }

{

//Function Body

}

void Display { }

{

// Function Body

}

// End of class Decleration

} :

 

অ্যাট্রিবিউট (Attribute) : অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং এর ক্ষেত্রে যে বা যে সকল ভেরিয়েবল ব্যবহার করে কোন অবজেক্টের বৈশিষ্ট্য উপস্থাপন করা সে বা সে সকল ভেরিয়েবলকেই সংশ্লিষ্ট অবজেক্টের অ্যাট্রিবিউট (Attribute) বলে।

উদাহরণ: Student নামক অবজেক্টের ক্ষেত্রে Name, Roll, Session, GPA ইত্যাদির প্রত্যেকটিই এক একটি অ্যাট্রিবিউট। প্রোগ্রামে অ্যাট্রিবিউটকে ভেরিয়েবলের মাধ্যমে উপস্থাপন করা হয়।

বিহেভিয়ার (Behaviour): অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং এর ক্ষেত্রে যে বা যে সকল ফাংশন ব্যবহার করে কোন অবজেক্টের কাজ উপস্থাপন করা হয় সে বা সে সকল ফাংশনকেই সংশ্লিষ্ট অবজেক্টের বিহেভিয়ার (Behaviour) বলে।

উদাহরণ : Student নামক ক্লাসের ক্ষেত্রে GetData () ফাংশনের মাধ্যমে ছাত্রদের Name, Roll, Session, GPA ইত্যাদির মান উপস্থাপন করা হয়। তাই এক্ষেত্রে GetData () ফাংশনটিই সংশ্লিষ্ট অবজেক্টের বিহেভিয়ার বলে বিবেচিত। প্রোগ্রামে বিহেভিয়ারকে ফাংশনের মাধ্যমে উপস্থাপন করা হয়।

Leave a Comment