ভূমিকাঃ
চাকরির ভাইভাতে গেলেন, আপনাকে বলা হল IS-A এবং HAS-A রিলেশন কি তা বলে আপনার সামনে বসা বসদের বাধিত
করতে। আপনি তো শুনেই তব্দা। এইটা খায় না মাথায় দেয়। হয়ত চাকরির ভাইভাতে এই প্রশ্ন
নাও পেতে পারেন, তবে আপনি যদি OCA বা OCP পরীক্ষা দিতে চান,
সেখানে অবশ্যই আসবে।
আরেহ ব্যাপার না। আপনি IS-A এবং HAS-A রিলিশনের অনেক কাজ করেছেন শুধু বই এর ভাষায় জানের
না, এই যা। ওকে এক মিনিটে সমাধান।
IS-A রিলেশনঃ
IS-A রিলেশনের কনসেপ্ট
হচ্ছে Inheritance এর কনসেপ্ট। IS-A দিয়ে বুঝায়, This thing is a type of that thing। যেমনঃ “সব ক্ষারকই ক্ষার”।ওকে ওয়েট, স্যরি।
যেমনঃ
- Potato IS-A Vegetable (আহামরি উদাহরণ না, তবে কাজ চলে)
- Apple IS-A Food
- MBW IS-A Car
public class Car{ } public class BMW extends Car{ }
IS-A রিলেশন প্রকাশ করার জন্য দুটো কিওয়ার্ড ব্যাবহার করা হয়। Class Inheritance
এর ক্ষেত্রে extends এবং Interface Implementation এর ক্ষেত্রে implements।
HAS-A রিলেশনঃ
HAS-A রিলেশনশিপ কোনো ক্লাসের রেফারেন্সকে অন্য ক্লাসে ব্যাবহারের উপর
ভিত্তি করে করা হয়। অন্য কথা বলা যায়, ক্লাস X HAS-A Y । যদি ক্লাস X তে Y ক্লাসের কোনো রেফারেন্স ভেরিয়েবল থাকে।
যেমনঃ
- A Horse HAS-A Owner
- Human HAS-A Kidney
public class Human{ private Kidney kidneyRefVar; } public class Kidney{ }
তাহলে এই লাইনটি কোডে অনুবাদ করুন।
A Horse IS-A Animal. A Horse
HAS-A Owner
সারাংশঃ
IS-A রিলেশনশিপ হয় Base
ক্লাস এবং Derived ক্লাসের মধ্যে। যেমনঃ
- Programmer IS-A Person
- Manager IS-A Person
- Mobile HAS-A Battery
- University HAS-A Library