Обектно-ориентираното програмиране (OOP) е често срещана парадигма в разработването на софтуер. Обектът е екземпляр от клас. Не е възможно да се създават обекти наведнъж. Трябва да има план или описание, за да създадете обект. Този план е известен като клас. Класът съдържа свойства и методи. Обектите се създават с помощта на класове. Класът и обектът са подобни на план и къща в реалния свят. Не е възможно да се построи къща без подходящ план. По същия начин се използва клас за създаване на обект. Обект си сътрудничи с други обекти. Връзка с представлява връзката на два или повече обекта се нарича „асоциация“. Агрегацията и съставът са видове асоциации. Те описват връзката между класовете. Тази статия обсъжда разликата между агрегиране и състав. Най- ключова разлика между агрегирането и състава е това агрегирането е асоциация между два обекта, която описва връзката „има“ и съставът е по-специфичен тип агрегация, който предполага собственост.
1. Преглед и ключова разлика
2. Какво е агрегацията
3. Какво е състав
4. Прилики между агрегацията и състава
5. Паралелно сравнение - агрегация срещу състав в таблична форма
6. Резюме
Връзка между два обекта е показана чрез начертаване на линия в Унифициран език за моделиране (UML). Връзката е асоциация. UML помага да се получи визуално представяне на системата. Тя е различна от обикновените езици за програмиране. Асоциацията също така определя множеството обекти. Те са едно към едно, едно към много и много към много. Когато един обект от клас А е свързан с единичния обект от клас В, това е отношение един към един. Пример е автор, който пише книга. В този пример един автор пише книга.
Когато един обект от клас A е свързан с много обекти от клас B, това е връзка между един и много хора. Пример е, че отдел може да има много служители. Когато обектът от клас А е свързан с много обекти от клас В и обект от клас В е свързан с много обекти от клас А, това е асоциация между много хора. Един пример е, че един служител може да работи по множество проекти и проект може да има няколко служители.
Агрегацията е тип асоциация, която допълнително описва връзката между обектите. Агрегацията описва връзката „има“. Някои примери, които описват връзката, са, че ученикът „има“ идентификатор на ученик, превозното средство „има двигател“. Също така е възможно да се разшири голямо количество с връзката. Някои примери са: банка „има много“ банкови сметки, клас „има много“ студенти. Може да се обясни с помощта на примера по-долу.
Фигура 01: Агрегация
Според горния пример класната стая се състои от ученик или много ученици. Множеството се използва и за посочване на броя на обектите. Той описва, че в една класна стая има няколко ученици. Символът на диаманта представлява агрегирането в UML. Обектите на учениците не разчитат на обекта клас. Ако обектът на клас е унищожен, той няма да повлияе на студентските обекти. Тези обекти все още ще съществуват.
Съставът е по-специфична форма на агрегиране. Той описва собствеността. Може да се обясни с помощта на примера по-долу.
Фигура 02: Състав
Според горното обектът на книгата се състои от обект на страница или страници. Множеството се използва и за посочване на броя на обектите. Той описва, че в една класна стая има няколко ученици. Символът на диаманта, който е подчертан, представя състава в UML. Тъй като книгата има страница или много страници, тя е съвкупност, но е по-конкретна. Ако обектът на книгата е унищожен, тогава обектите на страницата също се унищожават. Обектите на страницата не могат да съществуват без обект книга. Следователно съставът е по-специфична форма на агрегация, която предполага собственост.
Агрегация срещу Състав | |
Агрегацията е асоциация между два обекта, която описва връзката „има“. | Съставът е най-специфичният тип агрегация, който предполага собственост. |
UML символ | |
Агрегацията се обозначава с диамант. | Съставът се обозначава с подчертан диамант. |
Функционалност | |
В съвкупност, ако притежаващият обект е унищожен, той няма да повлияе на съдържащия обект. | В състав, ако притежаващият обект е унищожен, той ще повлияе на съдържащия обект. |
Обектно-ориентираното програмиране е основна парадигма в разработването на софтуер. В OOP системата се моделира с помощта на обекти. Тези обекти не съществуват изолирано. Обектите си сътрудничат с други обекти. Връзката между обектите е известна като асоциация. Агрегацията и съставът са видове асоциации. Разликата между агрегиране и състав е, че агрегацията е асоциация между два обекта, която описва връзката „има“, а съставът е по-специфичният тип агрегация, който предполага собственост. Агрегацията и съставът помагат да се разбере поведението на системата.
Можете да изтеглите PDF версия на тази статия и да я използвате за офлайн цели, съгласно цитираната бележка. Моля, изтеглете PDF версия тук Разлика между агрегацията и състава
1. Използване на агрегиране и състав, Кариера на хората, 22 май 2015 г. Достъпно тук