উত্তরাধিকার এবং কনটেইনারের মধ্যে পার্থক্য

Anonim

উত্তরাধিকার ব্যতীত কন্টেইনারশীপ

উত্তরাধিকার এবং কনটেইনারশিপ দুটি গুরুত্বপূর্ণ ধারণাগুলি OOP (অবজেক্ট অব ইনফ্রারেড প্রোগ্রামিংিং উদাহরণ: সি ++) এ পাওয়া যায়। সহজ শর্তে, উভয় কনটেইনারশিপ এবং উত্তরাধিকারী একটি ক্লাস অতিরিক্ত বৈশিষ্ট্য বা আচরণ প্রদান সঙ্গে চুক্তি। উত্তরাধিকার হল একটি শ্রেণী যা এটির প্রসারিত করে প্যারেন্ট ক্লাস থেকে সম্পত্তি এবং আচরণের অধিকার অর্জন করে। অন্যদিকে, কনটেইনারশিপ হচ্ছে ক্লাসের সদস্য হিসাবে বিভিন্ন শ্রেণীর অবজেক্টের সদস্যতা।

উত্তরাধিকার কি?

উপরে উল্লিখিত হিসাবে, উত্তরাধিকারের একটি ক্লাস একটি প্যারেন্ট বর্গ থেকে সম্পত্তি এবং আচরণ উত্তরাধিকার লাভ করার ক্ষমতা আছে এটি প্রসারিত। উত্তরাধিকার মূলত একটি নতুন সংজ্ঞায়িত শ্রেণি দ্বারা একটি বিদ্যমান শ্রেণীর আচরণ এবং আচরণ বাড়ানোর দ্বারা কোড পুনঃব্যবহারের প্রদান করে। যদি ক্লাস A বি বর্ধিত হয়, তাহলে ক্লাস B কে প্যারেন্ট ক্লাস (বা সুপার ক্লাস) বলা হয় এবং বর্গ একে চাইল্ড ক্লাস বলা হয় (বা প্রাপ্ত শ্রেণী / উপ ক্লাস)। এই উদাহরণের ক্ষেত্রে, শ্রেণী A সমস্ত পাবলিক এবং সুরক্ষিত বৈশিষ্ট্য এবং সুপার ক্লাস (বি) পদ্ধতির উত্তরাধিকারী হবে। উপবিভাগটি মূলত প্যারেন্ট ক্লাস থেকে উত্তরাধিকারসূত্রে উত্তরাধিকারসূত্রে উত্তরাধিকারসূত্রে উত্তোলন করতে পারে (পদ্ধতিগতভাবে নতুন বা বর্ধিত কার্যকারিতা প্রদান করে)। উত্তরাধিকার সূচি OOP- এর মধ্যে "একটি-একটি" সম্পর্ককে প্রতিনিধিত্ব করে। এটি মূলত একটিও বি। এর মানে হল যে, অন্য শব্দে বি একটি নির্দিষ্ট প্রকৃত বিশ্ব সত্তা একটি সাধারণ বর্ণনা সহ বর্গ হতে পারে কিন্তু একটি নির্দিষ্ট বিশেষীকরণ নির্দিষ্ট করে। একটি বাস্তব বিশ্ব প্রোগ্রামিং সমস্যা, ব্যক্তি শ্রেণীর কর্মী শ্রেণী তৈরি করতে প্রসারিত করা যেতে পারে। এটি বিশেষত্ব বলা হয়। কিন্তু আপনি আগেই কর্মচারী শ্রেণীর তৈরি করতে পারেন এবং তারপর এটি একটি ব্যক্তিত্ব শ্রেণীর সাথে সাধারণভাবে (i। সাধারণীকরণ)। এই উদাহরণে, কর্মচারী ব্যক্তির সমস্ত বৈশিষ্ট্য এবং আচরণ থাকবে (i.e. কর্মচারী এছাড়াও একজন ব্যক্তি) এবং কিছু অতিরিক্ত কার্যকারিতা থাকতে পারে (তাই, ব্যক্তি একজন কর্মচারী না) পাশাপাশি

--২ ->

কনটেইনারশিপ কি?

কনটেইনারশিপ সদস্য শ্রেণীর তথ্য হিসাবে বিভিন্ন শ্রেণীর অবজেক্টগুলি ধারণ করতে একটি ক্লাসের ক্ষমতা। উদাহরণস্বরূপ, ক্লাস A সদস্য হিসাবে বর্গ বি একটি বস্তু ধারণ করতে পারে। এখানে, বি বর্ণিত সমস্ত পাবলিক পদ্ধতি (বা ফাংশন) বর্গ এ সঞ্চালিত হতে পারে। ক্লাস A ধারক হয়ে, যখন বর্গ ব শ্রেণীভুক্ত হয়ে যায়। কনটেইনারশিপকে কম্পোজিশন হিসাবেও উল্লেখ করা হয়েছে। এই উদাহরণে, বলা যেতে পারে যে ক্লাস A বর্গ গঠিত হয়েছে। OOP মধ্যে, কনটেইনারশিপ একটি "আছে- একটি" সম্পর্ক প্রতিনিধিত্ব করে এটা উল্লেখ করা গুরুত্বপূর্ণ যে, যদিও ধারকটি অন্তর্ভুক্ত শ্রেণীতে সমস্ত পাবলিক পদ্ধতি চালানোতে সক্ষম, তবে এটি অতিরিক্ত কার্যকারিতা পরিবর্তন বা প্রদান করতে সক্ষম নয়। এটি একটি বাস্তব বিশ্ব প্রোগ্রামিং সমস্যা যখন আসে, ক্লাস পাঠ্যবক্সের একটি বস্তু ক্লাস ফর্মে অন্তর্ভুক্ত হতে পারে, এবং এইভাবে বলা যেতে পারে যে একটি ফরমটিতে একটি টেক্সটবক্স রয়েছে (বা অন্যথায়, একটি ফর্ম একটি টেক্সটবক্সের সাথে সংযুক্ত)।

উত্তরাধিকার এবং কন্টেইনারশীপের মধ্যে পার্থক্য

যদিও উত্তরাধিকার এবং কনটেইনারশিপ দুটি ওপের ধারণা, তবে তারা প্রোগ্রামারকে কীভাবে অর্জন করতে দেয় তার মধ্যে সেগুলি বেশ ভিন্ন। উত্তরাধিকার হল একটি শ্রেণি যার দ্বারা প্যারেন্ট ক্লাস থেকে উত্তরাধিকার সম্পত্তি এবং আচরণ উত্তরাধিকার লাভ করার ক্ষমতা, যখন কনটেইনারশিপ সদস্য শ্রেণীর তথ্য হিসাবে বিভিন্ন শ্রেণীর অবজেক্টগুলি ধারণ করতে সক্ষম হয়। যদি একটি শ্রেণি বর্ধিত হয়, এটি সমস্ত পাবলিক এবং সুরক্ষিত বৈশিষ্ট্য / আচরণ উত্তরাধিকারসূত্রে প্রাপ্ত এবং এই আচরণগুলি উপকলা দ্বারা অপ্রকাশিত হতে পারে। কিন্তু যদি একটি শ্রেণী অন্যের মধ্যে অন্তর্ভুক্ত থাকে, তাহলে কন্টেনারটিটি পরিবর্তন বা পরিবর্তন করার ক্ষমতা অন্তর্ভুক্ত না। উত্তরাধিকারী OOP মধ্যে একটি "হয়-একটি" সম্পর্ক প্রতিনিধিত্ব করে, যখন কনটেইনারশিপ একটি "আছে- একটি" সম্পর্ক প্রতিনিধিত্ব করে