ইনহেরিটেন্সঃ
ইনহেরিটেন্স অর্থ উত্তরাধিকারী। অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং-এ একটি ক্লাস অন্য আরেকটি ক্লাসকে ইনহেরিট করলে ঐ ক্লাস যে ক্লাসকে ইনহেরিট করেছে, সে ক্লাসের ডেটাগুলো ব্যবহার করতে পারে। উত্তরাধিকারসূত্রে পিতার সম্পত্তিপ্রাপ্তির মতই হয়ে যাচ্ছে ব্যাপারটা! তাই সুবিধার জন্য ইনহেরিট যে ক্লাসকে করা হয়েছে সে ক্লাস প্যারেন্ট ক্লাস ও যে ক্লাস ইনহেরিট করেছে সেই ক্লাস চাইল্ড ক্লাস হিসেবে বহুল ব্যবহৃত। আমিও এই নামেই ডাকছি।
ইনহেরিট করার জন্য আমরা extends কিওয়ার্ডটি ব্যবহার করি। এখানে চাইন্ড ক্লাস প্যারেন্ট ক্লাসকে এক্সটেন্ড করে প্যারেন্ট ক্লাসের মেথডটি এক্সেস করতে পারছে।
inheritance এর প্রকারভেদ,
সিঙ্গেল লেভেল, মাল্টীলেভেল, হায়ারকিক্যাল, হাইব্রিড।
সিঙ্গেল লেভেলঃ একটি প্যারেন্ট ক্লাস ও চাইল্ড ক্লাসের ডিরেক্ট সম্পর্ক।
মাল্টিলেভেলঃ প্যারেন্ট ক্লাস যদি অন্য আরেকটি ক্লাসকে ইনহেরিট করে তবে ঐ ক্লাসের সাথে চাইল্ড ক্লাসের সম্পর্ক।
হায়ারকিক্যালঃ এক প্যারেন্টকে একাধিক চাইল্ড ইনহেরিট করলে
হাইব্রিডঃ বাকি প্রকারভেদগুলোর মিশ্রণ
এখন পর্যন্ত যা দেখলাম, তা আমাদের দৈনন্দিন জীবনে পরিবারতন্ত্রের সাথে মেলালে তা সহজেই বুঝা যায়, তবে আরও একটি ইনহেরিটেন্স রয়েছে, যা কয়েকটা প্রোগ্রামিং ল্যাঙ্গুয়েজ কিছুক্ষত্রে সাপোর্ট করে, কিন্তু তবুও এটিকে হিসেবে ধরা হয়, সেটি হলো মাল্টিপল ইনহেরিটেন্স। যা এর মত ল্যাংগুয়েজগুলো সাপোর্ট করেনা।
মাল্টিপল ইনহেরিটেন্সঃ একটি চাইল্ড একাধিক প্যারেন্টকে ইনহেরিট করে।
এটি ব্যবহার করতে নিরুৎসাহিত করা হয়।
ইনহেরিটেন্স ব্যবহার করে কোড রিইউজ করা যায়, অনেক পরিশ্রম বেঁচে যায়।
এর মত কাজে, প্যারেন্টের ডেটাগুলো super() কল করে চাইল্ড ক্লাসে নিয়ে আসা যায়।
ইনহেরিটেন্সের ব্যবহার ওওপিতে দারুণ গুরুত্বপূর্ণ।







Comments
Post a Comment