php

جلسه ۴۵: روابط بین کلاس ها در جاوا

در این جلسه، ما با روابط مختلف بین کلاس ها آشنا خواهیم شد.

موارد زیر را بیان خواهیم کرد:

  • تعامل بین اشیای کلاس
  • روابط بین کلاس ها
  • Association

تعامل بین اشیای کلاس

تا اینجا ، همه چیزهایی را که باید درباره تعریف و رفتار یک کلاس بدانیم یاد گرفتیم. مفاهیم وراثت و چند ریختی به ما آموخت که چگونه کلاسهایی وابسته به یک کلاس پایه ایجاد کنیم. در حالی که وراثت نشان دهنده رابطه بین کلاس ها است ، شرایطی وجود دارد که بین اشیا رابطه وجود دارد.

مرحله بعدی برای ما استفاده از اشیا ی کلاس های مختلف برای ایجاد طراحی یک برنامه است. این بدان معنی است که اشیای کلاسهای مستقل باید راهی برای تعامل با یکدیگر پیدا کنند.

روابط بین کلاسها

سه رابطه متداول بین کلاس ها وجود دارد که باید بیاموزیم. ما در جلسات مربوط به وراثت رابطه IS A را مطالعه کرده ایم. دو نوع دیگر رابطه را در زیر مطالعه خواهیم کرد:

Part-of

در این رابطه ، یک شی کلاس مولفه ای از کلاس دیگر است. دو کلاس A و B رابطه Part-of دارند، اگر شی کلاس A بخشی از کلاس B باشد ، یا بالعکس.

نمونه ای از کلاس (های) مولفه فقط در داخل کلاس دربرگیرنده قابل ایجاد است. در مثال سمت راست ، کلاس B و کلاس C پیاده سازی های خاص خود را دارند ، اما اشیای آنها بخشی از پیاده سازی کلاس A هستند و فقط با ایجاد یک شی از کلاس A ایجاد می شوند. از این رو ، رابطه Part-of ، یک رابطه وابسته است.

Has-a

این رابطه کمی ضعیف تر از رابطه Part-of بین دو کلاس است. کلاس A و کلاس B اگر یکی یا هر دو برای انجام عملیاتی به شی دیگری احتیاج داشته باشند اما هر دو شی کلاس بتوانند به طور مستقل از یکدیگر وجود داشته باشند ، رابطه Has-a دارند.

این بدان معنی است که یک کلاس اشاره گری به شی کلاس دیگر دارد اما محدود کننده برای وجود داشتن آن شی نیست.

Association

در برنامه نویسی شی گرا ، Association اصطلاحی رایج است که برای هر دو رابطه has-a و part-of استفاده می شود اما به این موارد محدود نمی شود. وقتی می گوییم دو جسم در رابطه Association هستند ، این یک جمله عمومی است و به این معنی است که برای ما مدت ارتباط بین اشیا مهم نیست. در دو جلسه بعدی ، ما به انواع خاصی از رابطه Association یعنی Aggregation و Composition خواهیم پرداخت.

اکنون که روابط مربوط به این بخش را فهمیدیم ، بیایید با رابطه aggregation شروع کنیم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا