মাল্টিপল ইনহেরিটেন্স (Multiple Inheritance)
মাল্টিপল ইনহেরিটেন্স হলো এমন একটি পদ্ধতি যেখানে একটি ক্লাস একইসাথে একাধিক ক্লাস থেকে গুণাবলী ও বৈশিষ্ট্য লাভ করতে পারে। বাস্তব জীবনে যেমন একজন মানুষ তার বাবা এবং মা উভয়ের থেকেই বৈশিষ্ট্য পায়, প্রোগ্রামিংয়েও এটি সম্ভব। যুক্তিতে কমা , ব্যবহার করে এটি করা হয়।
যদি দুটি ক্লাসেই একই নামের মেথড থাকে, তবে আপনি উৎস[ক্লাস_নাম] ব্যবহার করে সুনির্দিষ্টভাবে সেটি কল করতে পারেন।
১. একাধিক ক্লাস থেকে উত্তরাধিকার
নিচে একটি স্মার্টফোন তৈরির উদাহরণ দেওয়া হলো যা ফোন এবং ক্যামেরা—উভয় ক্লাসের বৈশিষ্ট্য পায়।
ক্লাস ফোন {
কল_করো() { দেখাও "কল হচ্ছে..."; }
}
ক্লাস ক্যামেরা {
ছবি_তোলো() { দেখাও "ছবি তোলা হচ্ছে..."; }
}
// ফোন এবং ক্যামেরা উভয়ের বৈশিষ্ট্য পেল
ক্লাস স্মার্টফোন মতো ফোন, ক্যামেরা {
ইন্টারনেট() { দেখাও "ইন্টারনেট ব্রাউজ হচ্ছে..."; }
}
২. নামের সংঘর্ষ এড়ানো (Ambiguity)
উভয় ক্লাসে একই নামের মেথড থাকলে ব্যবহারের নিয়ম:
ক্লাস স্মার্টফোন মতো ফোন, ক্যামেরা {
পরিচয়() {
উৎস[ফোন].পরিচয়();
উৎস[ক্যামেরা].পরিচয়();
}
}
৩. কেন এটি গুরুত্বপূর্ণ?
১. বহুমুখী ব্যবহার: আগের তৈরি করা ছোট ছোট ক্লাসগুলো জোড়া দিয়ে নতুন বড় ক্লাস বানানো যায়।
২. সময় বাঁচায়: বারবার একই লজিক ডিজাইন করতে হয় না।
৪. ইন-ডেপথ উদাহরণ: গেমিং ক্যারেক্টার ক্লাস
একজন যোদ্ধা এবং একজন জাদুকর থেকে হিরো তৈরি:
ক্লাস যোদ্ধা {
তলোয়ার_চালানো() { দেখাও "তলোয়ার দিয়ে আক্রমণ!"; }
}
ক্লাস জাদুকর {
যাদু_করা() { দেখাও "যাদু দিয়ে আক্রমণ!"; }
}
ক্লাস হিরো মতো যোদ্ধা, জাদুকর {
সব_দেখাও() {
নিজ.তলোয়ার_চালানো();
নিজ.যাদু_করা();
}
}