মূল পার্থক্য - সুপারক্লাস বনাম সাবক্লাস
অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (OOP) এ, সিস্টেমটি অবজেক্ট ব্যবহার করে মডেল করা হয়। এই অবজেক্ট একটি ক্লাস ব্যবহার করে তৈরি করা হয়. একটি বর্গ একটি ব্লুপ্রিন্ট বা একটি অবজেক্ট তৈরি করার একটি বিবরণ। অবজেক্ট তৈরিকে অবজেক্ট ইনস্ট্যান্টিয়েশনও বলা হয়। প্রতিটি বস্তু অন্য বস্তুর সাথে যোগাযোগ করছে। অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ব্যবহার করে একটি প্রোগ্রাম বা সফ্টওয়্যার তৈরি করা যেতে পারে। OOP-তে উত্তরাধিকার একটি প্রধান ধারণা। এটি কোড পুনর্ব্যবহারযোগ্যতা উন্নত করে। শুরু থেকে একটি প্রোগ্রাম বাস্তবায়নের পরিবর্তে, এটি একটি নতুন ক্লাসে ইতিমধ্যে বিদ্যমান ক্লাসের বৈশিষ্ট্য এবং পদ্ধতিগুলিকে উত্তরাধিকারী করে। এটি প্রোগ্রামটিকে আরও পরিচালনাযোগ্য করতে সহায়তা করে।সুপারক্লাস এবং সাবক্লাস দুটি পদ যা উত্তরাধিকারের সাথে সম্পর্কিত। এই নিবন্ধটি সুপারক্লাস এবং সাবক্লাসের মধ্যে পার্থক্য নিয়ে আলোচনা করে। সুপারক্লাস এবং সাবক্লাসের মধ্যে মূল পার্থক্য হল সুপারক্লাস হল বিদ্যমান শ্রেণী যেখান থেকে নতুন শ্রেণী উৎপন্ন হয় যখন সাবক্লাস হল নতুন শ্রেণী যা সুপারক্লাসের বৈশিষ্ট্য এবং পদ্ধতির উত্তরাধিকারী হয়।
সুপারক্লাস কি?
উত্তরাধিকারে, বিদ্যমান শ্রেণী যেখান থেকে নতুন শ্রেণী উৎপন্ন হয় তা সুপারক্লাস নামে পরিচিত। এটি প্যারেন্ট ক্লাস বা বেস ক্লাস নামেও পরিচিত৷
বিভিন্ন ধরনের উত্তরাধিকার আছে। নিম্নলিখিত উদাহরণ ব্যবহার করে সচিত্র আছে. A B এবং C কে ক্লাস হিসাবে বিবেচনা করুন।
চিত্র 01: উত্তরাধিকারের ধরন
চিত্র 02: হাইব্রিড উত্তরাধিকার
উপরের ডায়াগ্রাম অনুসারে, প্রতিটি উত্তরাধিকারের ধরন অনুসারে সুপারক্লাসগুলি পরিবর্তিত হয়। একক-স্তরের উত্তরাধিকারে, A হল সুপারক্লাস। মাল্টিলেভেল ইনহেরিটেন্সে, A হল B-এর জন্য সুপারক্লাস এবং B হল C-এর জন্য সুপারক্লাস। হায়ারার্কিক্যাল ইনহেরিট্যান্সে A হল B এবং C উভয়ের জন্য সুপারক্লাস। একাধিক উত্তরাধিকারে A এবং B উভয়ই C-এর জন্য সুপারক্লাস।
হাইব্রিড উত্তরাধিকার হল বহু-স্তরের এবং একাধিক উত্তরাধিকারের সংমিশ্রণ। বাম দিকের ডায়াগ্রামে, A হল B এর জন্য সুপারক্লাস, C এবং B, C হল D এর জন্য সুপারক্লাস। ডানদিকের ডায়াগ্রামে A হল B এর জন্য সুপারক্লাস এবং B, D হল C এর জন্য সুপারক্লাস।
জাভাতে লেখা নিচের প্রোগ্রামটি পড়ুন।
চিত্র 03: জাভাতে ইনহেরিটেন্স প্রোগ্রাম
উপরের প্রোগ্রাম অনুসারে, ক্লাস A-এর যোগফল() এবং উপ() পদ্ধতি রয়েছে। ক্লাস B এর multiply() পদ্ধতি আছে। ক্লাস B শ্রেণী A কে প্রসারিত করছে। অতএব, A শ্রেণীর বৈশিষ্ট্য এবং পদ্ধতি B শ্রেণী দ্বারা অ্যাক্সেসযোগ্য। অতএব, শ্রেণী A হল সুপারক্লাস। অবজেক্ট তৈরি করতে ক্লাস B এর রেফারেন্স টাইপ নেওয়া হয়। সুতরাং, সমস্ত পদ্ধতি যেমন sum(), sub() এবং multiply() অবজেক্ট দ্বারা অ্যাক্সেসযোগ্য। যদি সুপারক্লাস রেফারেন্স টাইপ অবজেক্ট তৈরির জন্য ব্যবহার করা হয়, তবে ক্লাস B এর সদস্যরা অ্যাক্সেসযোগ্য হতে পারে না। যেমন A obj=new B(); অতএব, সুপারক্লাস রেফারেন্স পদ্ধতিটিকে multiply() বলতে পারে না কারণ সেই পদ্ধতিটি B শ্রেণীর অন্তর্গত।
সাবক্লাস কি?
উপরের ডায়াগ্রাম অনুসারে, প্রতিটি উত্তরাধিকারের ধরন থেকে সাবক্লাস পরিবর্তিত হয়। একক উত্তরাধিকারে, B হল সাবক্লাস। বহু-স্তরের উত্তরাধিকারে, B হল A-এর সাবক্লাস এবং C হল B-এর সাবক্লাস।হায়ারার্কিক্যাল ইনহেরিট্যান্সে B এবং C হল A এর সাবক্লাস। একাধিক উত্তরাধিকারে C হল A এবং B এর সাবক্লাস।
হাইব্রিড উত্তরাধিকারে, বাম দিকের চিত্র, B এবং C হল A-এর উপশ্রেণী। D হল B এবং C-এর উপশ্রেণী। ডানদিকের চিত্রে, B হল A-এর উপশ্রেণী। C হল উপশ্রেণী B এবং D.
উপরের ইনহেরিটেন্স প্রোগ্রাম অনুসারে, ক্লাস B ক্লাস A কে প্রসারিত করছে। তাই, ক্লাস A এর সমস্ত বৈশিষ্ট্য এবং পদ্ধতি B ক্লাস দ্বারা অ্যাক্সেসযোগ্য। ক্লাস B হল নতুন ক্লাস যা A ক্লাস থেকে উত্তরাধিকারসূত্রে পাওয়া যায়। এটি হিসাবে পরিচিত সাবক্লাস এটি শিশু শ্রেণী বা প্রাপ্ত শ্রেণী নামেও পরিচিত। ক্লাস B-এর গুনিত () পদ্ধতি রয়েছে এবং এটি উত্তরাধিকার ব্যবহার করে ক্লাস A-এর যোগফল() এবং উপ() পদ্ধতিগুলিও অ্যাক্সেস করতে পারে।
সুপারক্লাস এবং সাবক্লাসের মধ্যে মিল কী?
দুটিই উত্তরাধিকারের সাথে সম্পর্কিত।
সুপারক্লাস এবং সাবক্লাসের মধ্যে পার্থক্য কী?
সুপারক্লাস বনাম সাবক্লাস |
|
উত্তরাধিকার প্রয়োগ করার সময়, বিদ্যমান শ্রেণীটি যেখান থেকে নতুন ক্লাস নেওয়া হয় তা হল সুপারক্লাস। | উত্তরাধিকার প্রয়োগ করার সময়, যে শ্রেণীটি সুপারক্লাস থেকে বৈশিষ্ট্য এবং পদ্ধতিগুলিকে উত্তরাধিকারী করে তা হল সাবক্লাস৷ |
প্রতিশব্দ | |
সুপারক্লাস বেস ক্লাস, প্যারেন্ট ক্লাস নামে পরিচিত। | সাবক্লাস ডেরাইভড ক্লাস, চাইল্ড ক্লাস হিসেবে পরিচিত। |
কার্যকারিতা | |
একটি সুপারক্লাস সাবক্লাসের বৈশিষ্ট্য এবং পদ্ধতি ব্যবহার করতে পারে না। | একটি সাবক্লাস সুপারক্লাসের বৈশিষ্ট্য এবং পদ্ধতি ব্যবহার করতে পারে। |
একক-স্তরের-উত্তরাধিকার | |
একটি সুপারক্লাস আছে। | একটি সাবক্লাস আছে। |
অনুক্রমিক উত্তরাধিকার | |
একটি সুপারক্লাস আছে | অনেকগুলো সাবক্লাস আছে। |
একাধিক উত্তরাধিকার | |
অনেকগুলো সুপারক্লাস আছে। | একটি সাবক্লাস আছে। |
সারাংশ – সুপারক্লাস বনাম সাবক্লাস
উত্তরাধিকার হল OOP এর একটি ধারণা। এটি একটি বিদ্যমান ক্লাসের বৈশিষ্ট্য এবং পদ্ধতি ব্যবহার করে একটি নতুন ক্লাস দ্বারা অ্যাক্সেস করার অনুমতি দেয়। উত্তরাধিকারসূত্রে প্রাপ্ত শ্রেণী হল সুপারক্লাস এবং প্রাপ্ত শ্রেণী হল সাবক্লাস। সুপারক্লাস এবং সাবক্লাসের মধ্যে পার্থক্য হল যে সুপারক্লাস হল বিদ্যমান শ্রেণী যেখান থেকে নতুন শ্রেণী উৎপন্ন হয় যখন সাবক্লাস হল নতুন শ্রেণী যা সুপারক্লাসের বৈশিষ্ট্য এবং পদ্ধতির উত্তরাধিকারী হয়।
PDF সুপারক্লাস বনাম সাবক্লাস ডাউনলোড করুন
আপনি এই নিবন্ধটির PDF সংস্করণ ডাউনলোড করতে পারেন এবং উদ্ধৃতি নোট অনুসারে অফলাইন উদ্দেশ্যে এটি ব্যবহার করতে পারেন। অনুগ্রহ করে এখানে পিডিএফ সংস্করণ ডাউনলোড করুন সুপারক্লাস এবং সাবক্লাস এর মধ্যে পার্থক্য