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