Препоръчано, 2021

Избор На Редактора

Разлика между агрегиране и състав

Агрегирането и съставът са видовете асоцииране. Основната разлика между агрегирането и състава е, че агрегирането е имплицитно отношение, при което детето може да съществува независимо от родителя. От друга страна, съставът напомня връзка, при която детето не може да съществува независимо от родителя.

Обектно-ориентираното програмиране е обща парадигма, която се използва в разработката на софтуер. Обектът е инстанция на клас, създаден от класове. Обектите си сътрудничат помежду си чрез връзките. Връзките са физическа и концептуална връзка между обектите. Колекция от връзки със сходна структура и семантика се описва като асоциация .

Сравнителна таблица

Основа за сравнениесъвкупносткомпозиция
ОсновенВ обобщение има връзка, при която детето може да съществува независимо от родителя.В състава не може да съществува независимо от родителя.
Вид на връзката"има""част от"
Тип асоциацияСлаба асоциацияСилна асоциация
Символ за дизайн на UMLПредставена от кухи диамант до клас на сглобяване.Представена от солиден диамант до монтажния клас.
функцияИзтриването на сборката не засяга неговите части.Ако собственият клас обект е изтрит, той може значително да повлияе на съдържащия обект клас.

Определение на агрегиране

Агрегацията може да бъде дефинирана като връзка с клас на монтаж към съставния клас. Връзката между два обекта може да бъде представена чрез изчертаване на линеен сегмент в UML (Unified Modeling Language).

Агрегирането се използва и за уточняване на множествеността на обекти като едно към едно, едно към много и много към много. Когато обект от клас X се асоциира с един обект от клас Y, в този случай съществува връзка един-към-един. По същия начин, ако един обект от клас е свързан с множество обекти от клас, тогава тази връзка се нарича едно към много.

Например, автомобилът се състои от колела, двигател, скоростна кутия, кормилно управление, основно тяло и т.н. Автомобилът е комплект, а останалите части са негови съставни части. Колата на колелата е едно агрегиране, колата на двигателите е друга агрегация и т.н. Всяко индивидуално сдвояване се дефинира, за да се уточни кратността на всяка съставна част в сглобяването, като резултат може да се изобрази и броят на обектите.

Агрегирането е тип асоциация, която описва тип "има" тип връзка между обектите. Например една кола „има” скоростна кутия, а автомобилът „има” двигател . За връзката „един към много” един пример е „има” много колела .

Определение на състава

Съставът е и вид асоциация, но по-рестриктивна форма. Тя е представена в UML от малък твърд диамант в съседство с монтажния клас.

В този тип асоциация съставната част може да бъде свързана с най-много един комплект. Освен това, когато съставна част си сътрудничи с монтажа, тя ще има едновременна продължителност на живота с монтажа.

Така съставът означава притежание на съставната част на цялото. Това в крайна сметка ще увеличи удобството за програмиране. Съставът може да задейства изтриването на съставния обект чрез изтриване на обект за сглобяване.

Съставът описва връзката „част от“ . Например, листото е част от дърво, ако дървото е разрушено, тогава листата трябва да бъдат унищожени.

Основни разлики между агрегацията и състава

  1. Агрегирането показва връзка, при която едно дете и родител могат да съществуват независимо. В сравнение със състава детето е зависимо от родителя.
  2. В обобщение съществува връзка “има”, докато в състава има “част от” връзка между събранието и съставните обекти от клас.
  3. Агрегацията е слаба асоциация, докато съставът е силна асоциация, защото има повече ограничения.
  4. В UML дизайна агрегацията се описва с кух диамант. Обратно, композицията е изобразена с твърд диамант.

заключение

В обобщение съставните части имат самостоятелно съществуване и могат да бъдат споделяни или преотстъпвани на агрегати или на тяхното сглобяване. От друга страна, в състава съставната част принадлежи на точно един комплект или агрегат. Освен това частта се създава, когато агрегатът се образува и частта се разрушава, когато агрегатът се унищожава.

Top