কম্পিউটার

জাভাতে উত্তরাধিকার(is-a) v/s কম্পোজিশন (has-a) সম্পর্ক


IS-A সম্পর্ক

IS-A বলার একটি উপায় − এই বস্তুটি সেই বস্তুর একটি প্রকার। আসুন দেখি কিভাবে উত্তরাধিকার অর্জনের জন্য বিস্তারিত কীওয়ার্ড ব্যবহার করা হয়।

পাবলিক ক্লাস পশু {}পাবলিক ক্লাস স্তন্যপায়ী প্রাণী প্রসারিত করে {}পাবলিক ক্লাস সরীসৃপ প্রসারিত প্রাণী {}পাবলিক ক্লাস কুকুর প্রসারিত স্তন্যপায়ী {}

এখন, যদি আমরা IS-A সম্পর্ক বিবেচনা করি, আমরা বলতে পারি −

  • স্তন্যপায়ী আইএস-একটি প্রাণী
  • সরীসৃপ IS-A প্রাণী
  • কুকুর IS-একটি স্তন্যপায়ী
  • অতএব:কুকুর IS-একটি প্রাণীও

এক্সটেন্ডস কীওয়ার্ড ব্যবহার করে, সাবক্লাসগুলি সুপারক্লাসের ব্যক্তিগত বৈশিষ্ট্য ব্যতীত সুপারক্লাসের সমস্ত বৈশিষ্ট্য উত্তরাধিকারী হতে সক্ষম হবে৷

ইনস্ট্যান্স অপারেটর ব্যবহার করে আমরা নিশ্চিত করতে পারি যে স্তন্যপায়ী আসলে একটি প্রাণী।

উদাহরণ

শ্রেণীর প্রাণী {} শ্রেণির স্তন্যপায়ী প্রাণীকে প্রসারিত করে {} শ্রেণির সরীসৃপ প্রাণীকে প্রসারিত করে {} সর্বজনীন শ্রেণির কুকুর প্রসারিত করে স্তন্যপায়ী { পাবলিক স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং আর্গস[]) { প্রাণী a =নতুন প্রাণী(); স্তন্যপায়ী m =নতুন স্তন্যপায়ী(); কুকুর d =new Dog(); System.out.println(m instance of Animal); System.out.println(স্তন্যপায়ী প্রাণীর দৃষ্টান্ত); System.out.println(d instance of Animal); }}

এটি নিম্নলিখিত ফলাফল তৈরি করবে -

আউটপুট

সত্য সত্য

HAS-A সম্পর্ক

এই সম্পর্কগুলি মূলত ব্যবহারের উপর ভিত্তি করে। এটি নির্ধারণ করে যে একটি নির্দিষ্ট শ্রেণীর আছে কিনা-একটি নির্দিষ্ট জিনিস। এই সম্পর্ক কোডের ডুপ্লিকেশন এবং বাগ কমাতে সাহায্য করে।

আসুন একটি উদাহরণ দেখি -

উদাহরণ

<প্রি>পাবলিক ক্লাস ভেহিকেল{}পাবলিক ক্লাস স্পিড{}পাবলিক ক্লাস ভ্যান যানবাহন প্রসারিত করে { প্রাইভেট স্পিড এসপি; }

এটি দেখায় যে ক্লাস ভ্যান এর গতি আছে। গতির জন্য একটি পৃথক শ্রেণী থাকার মাধ্যমে, আমাদের ভ্যান ক্লাসের ভিতরে গতির সাথে সম্পর্কিত সম্পূর্ণ কোডটি রাখতে হবে না, যা একাধিক অ্যাপ্লিকেশনে গতির শ্রেণীকে পুনরায় ব্যবহার করা সম্ভব করে তোলে৷

একটি অবজেক্ট-ওরিয়েন্টেড বৈশিষ্ট্যে, ব্যবহারকারীদের কোন বস্তুটি আসল কাজ করছে তা নিয়ে মাথা ঘামানোর দরকার নেই। এটি অর্জন করার জন্য, ভ্যান ক্লাস ভ্যান শ্রেণীর ব্যবহারকারীদের কাছ থেকে বাস্তবায়নের বিবরণ লুকিয়ে রাখে। তাই, মূলত যা ঘটবে তা হল ব্যবহারকারীরা ভ্যান ক্লাসকে একটি নির্দিষ্ট কাজ করতে বলবে এবং ভ্যান ক্লাস হয় নিজেই কাজটি করবে বা অন্য ক্লাসকে ক্রিয়া সম্পাদন করতে বলবে।


  1. কেন একাধিক উত্তরাধিকার জাভাতে সমর্থিত নয়

  2. জাভাতে বহুস্তরীয় উত্তরাধিকার

  3. জাভাতে একক স্তরের উত্তরাধিকার

  4. জাভাতে উত্তরাধিকারের ধরন