বস্তু বনাম ক্লাস
অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষাতে অবজেক্ট এবং ক্লাস ব্যবহার করা হয়। সমস্ত অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ যেমন C++, Java,. NET এবং অন্যান্য, অবজেক্ট এবং ক্লাস নিযুক্ত করে।
বস্তু
একটি বস্তুকে এমন কোনো সত্তা হিসাবে সংজ্ঞায়িত করা হয় যা একটি প্রোগ্রামিং ভাষায় কমান্ড ব্যবহার করে ব্যবহার করা যেতে পারে। অবজেক্ট একটি পরিবর্তনশীল, মান, ডেটা স্ট্রাকচার বা একটি ফাংশন হতে পারে। অবজেক্ট ওরিয়েন্টেড এনভায়রনমেন্টে অবজেক্টকে ক্লাসের উদাহরণ হিসেবে উল্লেখ করা হয়। অবজেক্ট এবং ক্লাস একে অপরের সাথে ঘনিষ্ঠভাবে সম্পর্কিত। বাস্তব জগতে, বস্তুগুলি হল আপনার টিভি, সাইকেল, ডেস্ক এবং অন্যান্য সত্তা। একটি ক্লাসের বস্তু অ্যাক্সেস করতে পদ্ধতি ব্যবহার করা হয়।সমস্ত মিথস্ক্রিয়া বস্তুর পদ্ধতির মাধ্যমে সম্পন্ন হয়। এটি ডেটা এনক্যাপসুলেশন হিসাবে পরিচিত। বস্তুগুলি ডেটা বা কোড লুকানোর জন্যও ব্যবহৃত হয়৷
অবজেক্টগুলি কোডে ব্যবহার করার সময় অনেকগুলি সুবিধা প্রদান করা হয়:
• ডিবাগিং এর সহজতা - কোড থেকে বস্তুটি সহজেই সরানো যেতে পারে যদি এর কারণে কিছু সমস্যা হয়। আগেরটির প্রতিস্থাপন হিসাবে একটি ভিন্ন বস্তু প্লাগ ইন করা যেতে পারে।
• তথ্য গোপন করা - কোড বা অভ্যন্তরীণ বাস্তবায়ন ব্যবহারকারীদের কাছ থেকে লুকানো হয় যখন বস্তুর পদ্ধতির মাধ্যমে মিথস্ক্রিয়া করা হয়।
• কোডের পুনঃব্যবহার - যদি কোনো বস্তু বা কোড অন্য কোনো প্রোগ্রামার লিখে থাকেন তাহলে আপনি সেই বস্তুটি আপনার প্রোগ্রামে ব্যবহার করতে পারেন। এইভাবে, বস্তুগুলি অত্যন্ত পুনর্ব্যবহারযোগ্য। এটি বিশেষজ্ঞদের ডিবাগ করতে, টাস্ক নির্দিষ্ট এবং জটিল বস্তু বাস্তবায়ন করতে দেয় যা আপনার নিজের কোডে ব্যবহার করা যেতে পারে।
• মডুলারিটি – আপনি স্বাধীনভাবে অবজেক্টের সোর্স কোড রক্ষণাবেক্ষণের পাশাপাশি লিখতে পারেন। এটি প্রোগ্রামিং এর জন্য মডুলার পদ্ধতি প্রদান করে।
ক্লাস
A ক্লাস হল একটি ধারণা যা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ যেমন C++, PHP, এবং JAVA ইত্যাদিতে ব্যবহৃত হয়। ডেটা ধারণ করা ছাড়াও, ফাংশন ধরে রাখার জন্যও একটি ক্লাস ব্যবহার করা হয়। একটি বস্তু একটি শ্রেণীর একটি তাত্ক্ষণিক. ভেরিয়েবলের ক্ষেত্রে, টাইপ হল ক্লাস যেখানে ভেরিয়েবল হল অবজেক্ট। কিওয়ার্ড "ক্লাস" একটি ক্লাস ঘোষণা করতে ব্যবহৃত হয় এবং এটির নিম্নলিখিত বিন্যাস রয়েছে:
শ্রেণি CLASS_NAME
{
AccessSpecifier1:
সদস্য-১;
AccessSpecifier2:
সদস্য-২;
} বস্তু_NAMES;
এখানে, বৈধ শনাক্তকারী হল CLASS_NAME এবং বস্তুর নামগুলি OBJECT_NAMES দ্বারা উপস্থাপন করা হয়েছে৷ অবজেক্টের সুবিধার মধ্যে রয়েছে তথ্য লুকানো, মডুলারিটি, ডিবাগিংয়ে সহজতা এবং কোডের পুনঃব্যবহার। শরীরে এমন সদস্য রয়েছে যা ফাংশন বা ডেটা ঘোষণা হতে পারে। অ্যাক্সেস স্পেসিফায়ারগুলির জন্য কীওয়ার্ডগুলি সর্বজনীন, সুরক্ষিত বা ব্যক্তিগত।
• পাবলিক মেম্বারদের যে কোনো জায়গায় অ্যাক্সেস করা যেতে পারে।
• সুরক্ষিত সদস্যদের একই ক্লাসে বা বন্ধুদের ক্লাস থেকে অ্যাক্সেস করা যেতে পারে।
• প্রাইভেট মেম্বাররা শুধুমাত্র একই ক্লাসের মধ্যে অ্যাক্সেস করা যাবে।
ডিফল্টরূপে, যখন ক্লাস কীওয়ার্ড ব্যবহার করা হয় তখন অ্যাক্সেসটি ব্যক্তিগত থাকে। একটি ক্লাস ডেটা এবং ফাংশন উভয়ই ধারণ করতে পারে৷
বস্তু বনাম ক্লাস
• একটি বস্তু একটি ক্লাসের একটি তাত্ক্ষণিক। একটি ক্লাস ডেটা এবং ফাংশন ধরে রাখতে ব্যবহৃত হয়।
• যখন একটি ক্লাস ঘোষণা করা হয়, কোন মেমরি বরাদ্দ করা হয় না কিন্তু যখন ক্লাসের অবজেক্ট ঘোষণা করা হয়, তখন মেমরি বরাদ্দ করা হয়। সুতরাং, ক্লাস একটি টেমপ্লেট মাত্র।
• একটি অবজেক্ট তখনই তৈরি করা যেতে পারে যদি ক্লাস ইতিমধ্যে ঘোষণা করা থাকে অন্যথায় এটি সম্ভব নয়