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

Ключова разлика - агрегация срещу състав
 

Обектно-ориентираното програмиране (OOP) е често срещана парадигма в разработването на софтуер. Обектът е екземпляр от клас. Не е възможно да се създават обекти наведнъж. Трябва да има план или описание, за да създадете обект. Този план е известен като клас. Класът съдържа свойства и методи. Обектите се създават с помощта на класове. Класът и обектът са подобни на план и къща в реалния свят. Не е възможно да се построи къща без подходящ план. По същия начин се използва клас за създаване на обект. Обект си сътрудничи с други обекти. Връзка с представлява връзката на два или повече обекта се нарича „асоциация“. Агрегацията и съставът са видове асоциации. Те описват връзката между класовете. Тази статия обсъжда разликата между агрегиране и състав. Най- ключова разлика между агрегирането и състава е това агрегирането е асоциация между два обекта, която описва връзката „има“ и съставът е по-специфичен тип агрегация, който предполага собственост.

СЪДЪРЖАНИЕ

1. Преглед и ключова разлика
2. Какво е агрегацията
3. Какво е състав
4. Прилики между агрегацията и състава
5. Паралелно сравнение - агрегация срещу състав в таблична форма
6. Резюме

Какво е агрегацията?

Връзка между два обекта е показана чрез начертаване на линия в Унифициран език за моделиране (UML). Връзката е асоциация. UML помага да се получи визуално представяне на системата. Тя е различна от обикновените езици за програмиране. Асоциацията също така определя множеството обекти. Те са едно към едно, едно към много и много към много. Когато един обект от клас А е свързан с единичния обект от клас В, това е отношение един към един. Пример е автор, който пише книга. В този пример един автор пише книга.

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

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

Фигура 01: Агрегация

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

Какво е състав?

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

Фигура 02: Състав

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

Какви са приликите между агрегацията и състава?

  • И двете се използват в обектно-ориентирано програмиране.
  • И двете се използват в езика на унифицираното моделиране (UML), за да получат визуално разбиране на системата.

Каква е разликата между агрегацията и състава?

Агрегация срещу Състав

Агрегацията е асоциация между два обекта, която описва връзката „има“. Съставът е най-специфичният тип агрегация, който предполага собственост.
 UML символ
Агрегацията се обозначава с диамант. Съставът се обозначава с подчертан диамант.
Функционалност
В съвкупност, ако притежаващият обект е унищожен, той няма да повлияе на съдържащия обект. В състав, ако притежаващият обект е унищожен, той ще повлияе на съдържащия обект.

резюме - Агрегация срещу Състав 

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

Изтеглете PDF версията на агрегацията срещу състава

Можете да изтеглите PDF версия на тази статия и да я използвате за офлайн цели, съгласно цитираната бележка. Моля, изтеглете PDF версия тук Разлика между агрегацията и състава

справка:

1. Използване на агрегиране и състав, Кариера на хората, 22 май 2015 г. Достъпно тук