تفاوت بین تجمع و ترکیب

فهرست مطالب:

تفاوت بین تجمع و ترکیب
تفاوت بین تجمع و ترکیب

تصویری: تفاوت بین تجمع و ترکیب

تصویری: تفاوت بین تجمع و ترکیب
تصویری: هل يمكن خلط رامات بأحجام وسرعات مختلفة؟؟ 2024, نوامبر
Anonim

تفاوت کلیدی – تجمع در مقابل ترکیب

برنامه نویسی شی گرا (OOP) یک پارادایم رایج در توسعه نرم افزار است. شی نمونه ای از یک کلاس است. ایجاد اشیا به یکباره امکان پذیر نیست. برای ایجاد یک شی باید یک نقشه یا توضیحاتی وجود داشته باشد. آن طرح به عنوان یک کلاس شناخته می شود. یک کلاس حاوی ویژگی ها و متدهایی است. اشیاء با استفاده از کلاس ها ایجاد می شوند. کلاس و شی شبیه به پلان و خانه در دنیای واقعی است. ساختن خانه بدون برنامه ریزی مناسب امکان پذیر نیست. به همین ترتیب، یک کلاس برای ایجاد یک شی استفاده می شود. یک شی با اشیاء دیگر همکاری می کند. پیوند با نشان دهنده رابطه دو یا چند شیء است که به عنوان "تداعی" نامیده می شود.تجمیع و ترکیب انواع تداعی هستند. آنها رابطه بین طبقات را توصیف می کنند. این مقاله تفاوت بین تجمع و ترکیب را مورد بحث قرار می دهد. تفاوت کلیدی بین تجمیع و ترکیب این است که تجمیع یک ارتباط بین دو شی است که رابطه "دارای" را توصیف می کند و ترکیب یک نوع خاص تر از تجمع است که به مالکیت دلالت می کند.

Aggregation چیست؟

یک رابطه بین دو شی با رسم یک خط در زبان مدلسازی یکپارچه (UML) نشان داده می شود. پیوند یک انجمن است. UML به دریافت یک نمایش بصری از سیستم کمک می کند. با زبان های برنامه نویسی معمولی متفاوت است. تداعی نیز تعدد اشیاء را تعریف می کند. آنها یک به یک، یک به چند و چند به چند هستند. وقتی یک شی از کلاس A با شی واحد کلاس B مرتبط می شود، این یک رابطه یک به یک است. به عنوان مثال، نویسنده ای است که کتاب می نویسد. در آن مثال، یک نویسنده در حال نوشتن یک کتاب است.

وقتی یک شی از کلاس A با بسیاری از اشیاء کلاس B مرتبط می شود، یک رابطه یک به چند است. به عنوان مثال، یک بخش می تواند کارمندان زیادی داشته باشد. وقتی شیء کلاس A با بسیاری از اشیاء کلاس B و شیء کلاس B با بسیاری از اشیاء کلاس A مرتبط می شود، یک ارتباط چند به چند است. یک مثال این است که یک کارمند می تواند روی چندین پروژه کار کند و یک پروژه می تواند چندین کارمند داشته باشد.

Aggregation نوعی ارتباط است که رابطه بین اشیاء را بیشتر توصیف می کند. تجمیع رابطه "دارا" را توصیف می کند. برخی از مثال‌هایی که این رابطه را توصیف می‌کنند عبارتند از: یک دانش‌آموز «دارای شناسه دانشجویی»، یک وسیله نقلیه «دارای موتور» است. همچنین امکان گسترش مقدار زیادی با رابطه وجود دارد. برخی از مثال‌ها عبارتند از، یک بانک حساب‌های بانکی «تعدادی» دارد، یک کلاس «شاگردان زیادی دارد». با استفاده از مثال زیر می توان آن را توضیح داد.

تفاوت بین تجمع و ترکیب
تفاوت بین تجمع و ترکیب

شکل 01: تجمع

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

ترکیب چیست؟

ترکیب شکل خاص تری از تجمع است. مالکیت را توصیف می کند. با استفاده از مثال زیر می توان آن را توضیح داد.

تفاوت کلیدی بین تجمع و ترکیب
تفاوت کلیدی بین تجمع و ترکیب

شکل 02: ترکیب

طبق موارد فوق، شی کتاب از شیء صفحه یا صفحات تشکیل شده است. از تعدد نیز برای نشان دادن تعداد اشیاء استفاده می شود. توضیح می دهد که یک کلاس درس چند دانش آموز دارد. نماد الماس که برجسته شده است نشان دهنده ترکیب در UML است. از آنجایی که کتاب دارای یک صفحه یا صفحات متعدد است، یک تجمیع است، اما مشخص تر است. اگر شی کتاب از بین برود، اشیاء صفحه نیز از بین می روند. اشیاء صفحه نمی توانند بدون شیء کتاب وجود داشته باشند. بنابراین، ترکیب شکل خاص تری از تجمیع است که بر مالکیت دلالت دارد.

شباهت‌های بین تجمیع و ترکیب چیست؟

  • هر دو در برنامه نویسی شی گرا استفاده می شوند.
  • هر دو در زبان مدلسازی یکپارچه (UML) برای دریافت درک بصری از سیستم استفاده می شوند.

تفاوت بین تجمع و ترکیب چیست؟

Aggregation در مقابل ترکیب

Aggregation ارتباط بین دو شی است که رابطه "دارای" را توصیف می کند. ترکیب خاص ترین نوع تجمیع است که بر مالکیت دلالت دارد.
نماد UML
تجمع با الماس نشان داده می شود. ترکیب با یک الماس برجسته نشان داده می شود.
کارکرد
در تجمیع، اگر شی مالک از بین برود، روی شیء حاوی تأثیری نخواهد داشت. در ترکیب، اگر شی مالک از بین برود، روی شیء حاوی تأثیر می گذارد.

خلاصه - تجمع در مقابل ترکیب

برنامه نویسی شی گرا یک پارادایم اصلی در توسعه نرم افزار است. در OOP، سیستم با استفاده از اشیاء مدل می شود. این اشیاء به صورت مجزا وجود ندارند. اشیا با اشیاء دیگر همکاری می کنند. رابطه بین اشیاء به عنوان تداعی شناخته می شود. تجمیع و ترکیب از انواع تداعی هستند. تفاوت بین تجمیع و ترکیب در این است که تجمیع ارتباط بین دو شی است که رابطه "دارای یک" را توصیف می کند و ترکیب نوع خاصی از تجمع است که بر مالکیت دلالت دارد. تجمیع و ترکیب هر دو به درک رفتار سیستم کمک می کنند.

دانلود نسخه PDF Aggregation vs Composition

می توانید نسخه PDF این مقاله را دانلود کنید و طبق یادداشت نقل قول برای اهداف آفلاین از آن استفاده کنید. لطفاً نسخه PDF را از اینجا دانلود کنید تفاوت بین تجمع و ترکیب

توصیه شده: