এই পোস্টে, আমরা C++ প্রোগ্রামিং ভাষার ক্ষেত্রে একটি অবজেক্ট এবং ক্লাসের মধ্যে পার্থক্য বুঝতে পারব।
C++ এ ক্লাস
- এটি C++ এ কোডের একটি বিল্ডিং ব্লক যা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং বাস্তবায়নে সাহায্য করে।
- এটি একটি প্রকার যা ব্যবহারকারী দ্বারা সংজ্ঞায়িত করা হয়।
- এটির নিজস্ব ডেটা সদস্য এবং সদস্য ফাংশন রয়েছে।
- এই ডেটা সদস্য এবং সদস্য ফাংশনগুলি ক্লাসের একটি উদাহরণ তৈরি করে অ্যাক্সেস করা যেতে পারে৷
- এগুলি ভেরিয়েবলগুলিকে ম্যানিপুলেট করতে ব্যবহার করা যেতে পারে এবং একটি ক্লাসের বস্তুগুলিকে কীভাবে কাজ করতে হবে তা বলার জন্য সম্পত্তি সংজ্ঞায়িত করতে ব্যবহার করা যেতে পারে৷
- এটি একটি বস্তুর ব্লুপ্রিন্ট হিসাবে বোঝা যেতে পারে।
- উদাহরণ:কর্মচারীদের শ্রেণি বিবেচনা করুন। অনেক গুণ থাকতে পারে যেমন কর্মচারীর নাম, বয়স, জন্ম তারিখ, পদবী ইত্যাদি।
- এগুলিকে ডেটা সদস্য বলা হয়।
- সদস্যের ফাংশনগুলি হতে পারে 'ড্র_স্যালারি', 'গেট_প্রমোশন', যা ক্লাস অবজেক্টের ক্ষেত্রে নির্দিষ্ট কিছু কাজ করে।
- এগুলি সমস্ত কর্মচারীদের দ্বারা ভাগ করা সাধারণ বৈশিষ্ট্য হবে৷ ৷
- এটি 'ক্লাস' কীওয়ার্ড ব্যবহার করে সংজ্ঞায়িত করা হয়েছে।
- এটি ক্লাসের নাম দ্বারা অনুসরণ করা হয়।
- ক্লাস বডি ফুলের বন্ধনীর মধ্যে সংজ্ঞায়িত করা হয়, এবং একটি সেমি-কোলন ব্যবহার করে শেষ করা হয়।
class class_name { body_of_class };
C++ এ অবজেক্ট
- অবজেক্ট হল ক্লাসের একটি উদাহরণ।
- যখন একটি ক্লাস সংজ্ঞায়িত করা হয়, তখন এটিতে মেমরি বরাদ্দ করা হয় না।
- যে মুহূর্তে একটি বস্তু তৈরি হয়, মেমরি ক্লাসের সমস্ত বৈশিষ্ট্যে বরাদ্দ হয়ে যায়।
- যখন একটি ক্লাস সংজ্ঞায়িত করা হয়, তখন অবজেক্টের স্পেসিফিকেশন সংজ্ঞায়িত করা হয়।
- যদি সেই ক্লাসটি ব্যবহার করতে হয়, এবং ক্রিয়াকলাপগুলি সম্পাদন করতে হয়, একটি বস্তু তৈরি করতে হবে৷
- নিচের সিনট্যাক্স ব্যবহার করে অবজেক্টটি স্পষ্টভাবে তৈরি করতে হবে।
class_name object_name;
- কোনো ক্লাসের ডেটা মেম্বার এবং মেম্বার ফাংশনগুলি ডট ('.') অপারেটরের সাহায্যে একটি অবজেক্টের মাধ্যমে অ্যাক্সেস করা যায়।
- উদাহরণ:অনুমান করুন প্রয়োজনীয় বৈশিষ্ট্য এবং সদস্য ফাংশন সহ একটি ক্লাস তৈরি করা হয়েছে৷
- একবার সেই ক্লাসের সাপেক্ষে একটি অবজেক্ট তৈরি হয়ে গেলে, সদস্য ফাংশনগুলি নীচের উপায়ে অ্যাক্সেস করা যেতে পারে:
object_name.member_function()
- প্রকৃতিতে সর্বজনীন ডেটা মেম্বারদের একই পদ্ধতিতে অ্যাক্সেস করা যেতে পারে, যেমন উপরে দেখানো হয়েছে, অর্থাৎ '।' অপারেটর।
- পাবলিক মেম্বার হল তারা যারা 'পাবলিক' কীওয়ার্ড ব্যবহার করে সংজ্ঞায়িত করা হয়।
- প্রাইভেট মেম্বার হল যারা 'প্রাইভেট' কীওয়ার্ড ব্যবহার করে সংজ্ঞায়িত করা হয়।
- এই সদস্যদের সরাসরি বস্তু দ্বারা অ্যাক্সেস করা যাবে না।
- 'পাবলিক', 'প্রাইভেট' এবং 'সুরক্ষিত' কীওয়ার্ডগুলি ডেটা সদস্যদের অ্যাক্সেস নিয়ন্ত্রণ হিসাবে পরিচিত।
- সদস্যের ফাংশনগুলি যেগুলি ক্লাসের ভিতরে সংজ্ঞায়িত করা হয় ডিফল্টরূপে ইনলাইন হিসাবে বিবেচিত হয়৷
- ইনলাইন ফাংশনগুলি হল যেগুলি ফাংশনটি সংজ্ঞায়িত করার পরে প্রসারিত হয়। কোড কম্পাইল করা হলে সেগুলি সর্বত্র অনুলিপি করা হয় (ম্যাক্রোর অনুরূপ)। এর মানে হল ফাংশন কল করার ওভারহেড কমে গেছে।
- যেকোন নন-ক্লাস ফাংশনকে 'ইনলাইন' কীওয়ার্ড সংযুক্ত করে একটি ইনলাইন ফাংশন হিসাবে তৈরি করা যেতে পারে।