বিমূর্ত শ্রেণী বনাম উত্তরাধিকার
অ্যাবস্ট্রাক্ট ক্লাস এবং ইনহেরিট্যান্স হল দুটি গুরুত্বপূর্ণ অবজেক্ট ওরিয়েন্টেড ধারণা যা জাভার মত অনেক অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজগুলিতে পাওয়া যায়। বিমূর্ত শ্রেণীকে একটি নিয়মিত (কংক্রিট) ক্লাসের একটি বিমূর্ত সংস্করণ হিসাবে বিবেচনা করা যেতে পারে, যখন উত্তরাধিকার নতুন ক্লাসগুলিকে অন্যান্য ক্লাস প্রসারিত করতে দেয়। অ্যাবস্ট্রাক্ট ক্লাস এমন একটি ক্লাস যা শুরু করা যায় না তবে বাড়ানো যায়। সুতরাং, বিমূর্ত ক্লাসগুলি শুধুমাত্র তখনই অর্থবহ হয় যদি প্রোগ্রামিং ভাষা উত্তরাধিকারকে সমর্থন করে। জাভাতে, অ্যাবস্ট্রাক্ট কীওয়ার্ড ব্যবহার করে অ্যাবস্ট্রাক্ট ক্লাস ঘোষণা করা হয়, যখন এক্সটেন্ডস কীওয়ার্ড একটি (সুপার) ক্লাস থেকে উত্তরাধিকারের জন্য ব্যবহার করা হয়।
অ্যাবস্ট্রাক্ট ক্লাস কি?
সাধারণত, অ্যাবস্ট্রাক্ট ক্লাস, যা অ্যাবস্ট্রাক্ট বেস ক্লাস (ABC) নামেও পরিচিত, তা ইনস্ট্যান্ট করা যাবে না (সেই ক্লাসের একটি উদাহরণ তৈরি করা যাবে না)। সুতরাং, বিমূর্ত ক্লাসগুলি শুধুমাত্র তখনই অর্থবহ যদি প্রোগ্রামিং ভাষা উত্তরাধিকারকে সমর্থন করে (একটি ক্লাস প্রসারিত থেকে সাবক্লাস তৈরি করার ক্ষমতা)। বিমূর্ত শ্রেণী সাধারণত একটি বিমূর্ত ধারণা বা সত্তাকে আংশিক বা কোন বাস্তবায়ন ছাড়াই উপস্থাপন করে। অতএব, অ্যাবস্ট্রাক্ট ক্লাসগুলি অভিভাবক ক্লাস হিসাবে কাজ করে যেখান থেকে শিশু ক্লাসগুলি নেওয়া হয় যাতে শিশু শ্রেণীটি অভিভাবক শ্রেণীর অসম্পূর্ণ বৈশিষ্ট্যগুলি ভাগ করে নেয় এবং সেগুলি সম্পূর্ণ করার জন্য কার্যকারিতা যুক্ত করা যেতে পারে৷
অ্যাবস্ট্রাক্ট ক্লাসে বিমূর্ত পদ্ধতি থাকতে পারে। একটি বিমূর্ত শ্রেণীর প্রসারিত সাবক্লাসগুলি এই (উত্তরাধিকারসূত্রে প্রাপ্ত) বিমূর্ত পদ্ধতিগুলি প্রয়োগ করতে পারে। শিশু শ্রেণী যদি এই ধরনের সমস্ত বিমূর্ত পদ্ধতি প্রয়োগ করে তবে এটি একটি কংক্রিট ক্লাস। কিন্তু তা না হলে চাইল্ড ক্লাসও হয়ে যায় অ্যাবস্ট্রাক্ট ক্লাস। এর অর্থ হল, প্রোগ্রামার যখন একটি ক্লাসকে অ্যাবস্ট্রাক্ট হিসাবে মনোনীত করেন, তখন তিনি বলছেন যে ক্লাসটি অসম্পূর্ণ হবে এবং এতে এমন উপাদান থাকবে যা উত্তরাধিকারসূত্রে পাওয়া সাবক্লাসগুলি দ্বারা সম্পূর্ণ করা দরকার।এটি দুটি প্রোগ্রামারের মধ্যে একটি চুক্তি তৈরি করার একটি চমৎকার উপায়, যা সফ্টওয়্যার বিকাশের কাজগুলিকে সহজ করে তোলে। প্রোগ্রামার, যিনি উত্তরাধিকার সূত্রে কোড লেখেন, তাকে সঠিক পদ্ধতির সংজ্ঞা অনুসরণ করতে হবে (তবে অবশ্যই তার নিজস্ব বাস্তবায়ন থাকতে পারে)।
উত্তরাধিকার কি?
ইনহেরিটেন্স হল একটি অবজেক্ট ওরিয়েন্টেড কনসেপ্ট, যা নতুন ক্লাসকে অন্যান্য ক্লাস প্রসারিত করতে দেয়। জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজে উত্তরাধিকারের ধারণা বাস্তবায়নের জন্য এক্সটেন্ডস কীওয়ার্ড ব্যবহার করা হয়। উত্তরাধিকার মূলত একটি নতুন সংজ্ঞায়িত শ্রেণী দ্বারা বিদ্যমান ক্লাসের বৈশিষ্ট্য এবং আচরণকে প্রসারিত করার অনুমতি দিয়ে কোড পুনঃব্যবহার প্রদান করে। যখন একটি নতুন সাবক্লাস (বা প্রাপ্ত বর্গ) একটি সুপার ক্লাস (বা প্যারেন্ট ক্লাস) প্রসারিত করে তখন সাবক্লাস সুপার ক্লাসের সমস্ত বৈশিষ্ট্য এবং পদ্ধতির উত্তরাধিকারী হবে। সাবক্লাস ঐচ্ছিকভাবে প্যারেন্ট ক্লাস থেকে উত্তরাধিকারসূত্রে প্রাপ্ত আচরণ (পদ্ধতিতে নতুন বা বর্ধিত কার্যকারিতা প্রদান) ওভাররাইড করতে পারে। সাধারণত, একটি সাবক্লাস একাধিক সুপার ক্লাস প্রসারিত করতে পারে না (যেমন জাভাতে)।অতএব, আপনি একাধিক উত্তরাধিকারের জন্য প্রসারিত ব্যবহার করতে পারবেন না। একাধিক উত্তরাধিকার পেতে, আপনাকে ইন্টারফেস ব্যবহার করতে হবে।
অ্যাবস্ট্রাক্ট ক্লাস এবং ইনহেরিটেন্সের মধ্যে পার্থক্য কী?
অ্যাবস্ট্রাক্ট ক্লাস সাধারণত একটি বিমূর্ত ধারণা বা আংশিক বা কোন বাস্তবায়ন সহ একটি সত্তাকে উপস্থাপন করে। উত্তরাধিকার নতুন ক্লাসগুলিকে অন্যান্য ক্লাস প্রসারিত করার অনুমতি দেয়। কারণ, অ্যাবস্ট্রাক্ট ক্লাস ইনস্ট্যান্ট করা যায় না, আপনাকে অ্যাবস্ট্রাক্ট ক্লাস ব্যবহার করার জন্য উত্তরাধিকার ধারণাটি ব্যবহার করতে হবে। অন্যথায়, একটি বিমূর্ত ক্লাসের কোন ব্যবহার নেই। অ্যাবস্ট্রাক্ট ক্লাসে অ্যাবস্ট্রাক্ট মেথড থাকতে পারে এবং যখন ক্লাস বাড়ানো হয়, তখন সমস্ত পদ্ধতি (বিমূর্ত এবং কংক্রিট) উত্তরাধিকারসূত্রে প্রাপ্ত হয়। উত্তরাধিকারসূত্রে প্রাপ্ত শ্রেণী যেকোনো বা সমস্ত পদ্ধতি প্রয়োগ করতে পারে। যদি সমস্ত বিমূর্ত পদ্ধতি প্রয়োগ করা না হয়, তবে সেই ক্লাসটিও একটি বিমূর্ত শ্রেণীতে পরিণত হয়। একটি শ্রেণী একাধিক অ্যাবস্ট্রাক্ট ক্লাস থেকে উত্তরাধিকারী হতে পারে না (এটি প্রতি নিজস্ব বিমূর্ত ক্লাসের একটি গুণ নয়, বরং উত্তরাধিকারের একটি সীমাবদ্ধতা)।
সম্পর্কিত পোস্ট:
অ্যাবস্ট্রাক্ট ক্লাস এবং কংক্রিট ক্লাসের মধ্যে পার্থক্য
ভার্চুয়াল এবং বিমূর্তের মধ্যে পার্থক্য
অ্যাবস্ট্রাক্ট ক্লাস এবং ইন্টারফেসের মধ্যে পার্থক্য
ইমপ্লিমেন্ট এবং এক্সটেনডের মধ্যে পার্থক্য
গ্রাফ এবং গাছের মধ্যে পার্থক্য
ফাইলের অধীনে: প্রোগ্রামিং এর সাথে ট্যাগ করা হয়েছে: ABC, বিমূর্ত, বিমূর্ত বেস ক্লাস, বিমূর্ত শ্রেণী, বিমূর্ত ক্লাস, বিমূর্ত কীওয়ার্ড, বিমূর্ত পদ্ধতি, কংক্রিট ক্লাস, প্রসারিত কীওয়ার্ড, উত্তরাধিকার, উত্তরাধিকার শ্রেণী, উত্তরাধিকারী শ্রেণী, জাভা, একাধিক উত্তরাধিকার, অবজেক্ট ওরিয়েন্টেড কনসেপ্ট, রেগুলার ক্লাস, সুপার ক্লাস
লেখক সম্পর্কে: ইন্দিকা
Indika, BSc. Eng, MSECE Computer Engineering, PhD. কম্পিউটার সায়েন্স, একজন সহকারী অধ্যাপক এবং বায়োইনফরমেটিক্স, কম্পিউটেশনাল বায়োলজি এবং বায়োমেডিকেল ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং এর ক্ষেত্রে গবেষণার আগ্রহ রয়েছে৷
মন্তব্য
-
জেসন বলেছেন
আগস্ট ৩০, ২০১৭ দুপুর ১:২৫ এ
পার্থক্য ব্যাখ্যা করার জন্য আপনাকে ধন্যবাদ। আমার সব প্রশ্নের সমাধান হয়েছে এতে।
উত্তর
-
Aus বলেছেন
মে ১০, ২০১৯ বিকাল ৩:০৪ এ
ওয়েবে সর্বোত্তম উত্তর, শিক্ষক নোংরা ব্যাখ্যা করেন না এবং এর কোন মানে হয় না, মনো টোন এমএফ। এইভাবে আপনি ধারণা ব্যাখ্যা করেন।
উত্তর
একটি উত্তর দিন উত্তর বাতিল করুন
আপনার ইমেল ঠিকানা প্রকাশ করা হবে না। প্রয়োজনীয় ক্ষেত্রগুলি চিহ্নিত করা হয়েছে
মন্তব্য
নাম
ইমেল
ওয়েবসাইট
বৈশিষ্ট্যযুক্ত পোস্ট
করোনাভাইরাস এবং ঠান্ডা উপসর্গের মধ্যে পার্থক্য
করোনাভাইরাস এবং SARS এর মধ্যে পার্থক্য
করোনাভাইরাস এবং ইনফ্লুয়েঞ্জার মধ্যে পার্থক্য
করোনাভাইরাস এবং কোভিড 19 এর মধ্যে পার্থক্য
আপনি পছন্দ করতে পারেন
সাইবেরিয়ান হাস্কি এবং ম্যালামুটের মধ্যে পার্থক্য
ক্যালকুলাস AB এবং BC এর মধ্যে পার্থক্য
ডাবল মেজর এবং ডাবল ডিগ্রির মধ্যে পার্থক্য
হালকা শার্ট এবং গাঢ় শার্টের জন্য ট্রান্সফার পেপারের মধ্যে পার্থক্য
এর মধ্যে পার্থক্য