কম্পিউটার টিউটোরিয়াল

C#-এ ডেলিগেশন vs ইনহেরিটেন্স: পার্থক্য এবং ব্যবহার

ডেলিগেশন (Delegation)

ডেলিগেশন হলো একটি অবজেক্ট অন্য অবজেক্টকে কাজ করার জন্য ডেলিগেট করা। এটি রানটাইম ফ্লেক্সিবিলিটি দেয়। ডেলিগেট ডিক্লেয়ার:

delegate   

ইনহেরিটেন্স (Inheritance)

ইনহেরিটেন্সে একটি ক্লাস অন্য ক্লাস থেকে প্রোপার্টি এবং মেথড ইনহেরিট করে। বেস ক্লাস এবং ডেরাইভড ক্লাসের মধ্যে "is-a" সম্পর্ক থাকে।

 class  { ... }
class  :  { ... }

তুলনা

  • ইনহেরিটেন্স: কম্পাইল-টাইম বাঁধা, কোড রিয়ুজ, "is-a" সম্পর্ক।
  • ডেলিগেশন: রান-টাইম ফ্লেক্সিবিলিটি, কম্পোজিশন-ভিত্তিক, "has-a" সম্পর্ক।

ডেলিগেশন অনেক সময় ইনহেরিটেন্সের চেয়ে ভালো বিকল্প (Composition over Inheritance)।

  1. C++-এ মাল্টিপল ইনহেরিট্যান্স

  2. C# Console ক্লাস

  3. জাভাতে ইনহেরিট্যান্সের প্রকারভেদ

  4. পাইথনে ইনহেরিটেন্স (Inheritance)