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