ডেলিগেশন (Delegation)
ডেলিগেশন হলো একটি অবজেক্ট অন্য অবজেক্টকে কাজ করার জন্য ডেলিগেট করা। এটি রানটাইম ফ্লেক্সিবিলিটি দেয়। ডেলিগেট ডিক্লেয়ার:
delegate
ইনহেরিটেন্স (Inheritance)
ইনহেরিটেন্সে একটি ক্লাস অন্য ক্লাস থেকে প্রোপার্টি এবং মেথড ইনহেরিট করে। বেস ক্লাস এবং ডেরাইভড ক্লাসের মধ্যে "is-a" সম্পর্ক থাকে।
class { ... } class : { ... }
তুলনা
- ইনহেরিটেন্স: কম্পাইল-টাইম বাঁধা, কোড রিয়ুজ, "is-a" সম্পর্ক।
- ডেলিগেশন: রান-টাইম ফ্লেক্সিবিলিটি, কম্পোজিশন-ভিত্তিক, "has-a" সম্পর্ক।
ডেলিগেশন অনেক সময় ইনহেরিটেন্সের চেয়ে ভালো বিকল্প (Composition over Inheritance)।