Об'єктно-орієнтоване програмування (OOP) - поширена парадигма в розробці програмного забезпечення. Об'єкт - екземпляр класу. Неможливо створити об’єкти відразу. Для створення об’єкта повинен бути креслення або опис. Цей план відомий як клас. Клас містить властивості та методи. Об'єкти створюються за допомогою класів. Клас і об’єкт схожі на план і будинок у реальному світі. Побудувати будинок без належного плану неможливо. Так само клас використовується для створення об'єкта. Об'єкт співпрацює з іншими об'єктами. Посилання з представляє взаємозв'язок двох або більше об'єктів називається "асоціацією". Агрегація та склад - це типи асоціацій. Вони описують стосунки між класами. У цій статті йдеться про різницю між агрегацією та складом. The ключова різниця між агрегацією та складом є те агрегація - це асоціація між двома об'єктами, яка описує зв'язок "має", а склад є більш конкретним типом агрегації, що передбачає право власності.
1. Огляд та ключові відмінності
2. Що таке агрегація
3. Що таке склад
4. Подібність між агрегацією та складом
5. Порівняльне порівняння - агрегація проти складу у табличній формі
6. Підсумок
Зв'язок між двома об'єктами показано, намалювавши лінію в Уніфікованій мові моделювання (UML). Посилання - це асоціація. UML допомагає отримати візуальне уявлення про систему. Він відрізняється від звичайних мов програмування. Асоціація також визначає кратність об'єктів. Вони бувають один-один, один-багато-багато-багато-багато. Коли один об'єкт класу A асоціюється з єдиним об'єктом класу B, це відносини один до одного. Приклад - автор, який пише книгу. У цьому прикладі один автор пише книгу.
Коли один об'єкт класу A асоціюється з багатьма об'єктами класу B, це відносини один до багатьох. Прикладом є те, що у відділі може бути багато працівників. Коли об’єкт класу A асоціюється з багатьма об'єктами класу B, а об'єкт класу B асоціюється з багатьма об'єктами класу A, це асоціація багатьох до багатьох. Одним із прикладів є те, що працівник може працювати над кількома проектами, а проект може мати декількох працівників.
Агрегація - це об'єднання типів, яке додатково описує взаємозв'язок між об'єктами. Агрегація описує відносини "має". Деякі приклади, що описують взаємозв'язок: студент "має" ідентифікатор студента, транспортний засіб "має" двигун. Також можливо розширити велику кількість із співвідношеннями. Деякі приклади є: у банку "є багато" банківських рахунків, у класу "є багато" студентів. Це можна пояснити, використовуючи наведений нижче приклад.
Малюнок 01: Агрегація
Згідно з вищенаведеним прикладом, аудиторія складається з учня чи багатьох учнів. Множинність також використовується для позначення кількості об'єктів. У ній описано, що в одному класі є кілька учнів. Символ алмазу представляє агрегацію в UML. Об'єкти учнів не покладаються на об’єкт класу. Якщо об’єкт класу знищений, це не вплине на об'єкти учнів. Ці об’єкти все ще існуватимуть.
Склад - більш конкретна форма агрегації. У ньому описано право власності. Це можна пояснити, використовуючи наведений нижче приклад.
Малюнок 02: Склад
Згідно з вищезазначеним, об’єкт книги складається із об’єкта сторінки чи сторінки. Множинність також використовується для позначення кількості об'єктів. У ній описано, що в одному класі є кілька учнів. Символ алмазу, який виділяється, позначає композицію в UML. Оскільки книга має сторінку або багато сторінок, вона є агрегацією, але вона більш конкретизована. Якщо об’єкт книги знищений, то об’єкти сторінки також знищуються. Об'єкти сторінки не можуть існувати без об’єкта книги. Тому склад є більш конкретною формою агрегації, яка передбачає право власності.
Агрегація проти складу | |
Агрегація - це асоціація між двома об'єктами, яка описує відношення "має". | Склад - це найбільш специфічний тип агрегації, що передбачає право власності. |
Символ UML | |
Агрегація позначається ромбом. | Склад позначається виділеним ромбом. |
Функціональність | |
У сукупності, якщо об’єкт, що володіє, знищений, він не вплине на об'єкт, що містить його. | За складом, якщо об’єкт, що володіє, знищений, це вплине на об'єкт, що містить його. |
Об'єктно-орієнтоване програмування є головною парадигмою в розробці програмного забезпечення. В OOP система моделюється за допомогою об'єктів. Ці об'єкти не існують ізольовано. Об'єкти співпрацюють з іншими об’єктами. Відносини між об'єктами відомі як асоціація. Агрегація та склад - це види об'єднання. Різниця між агрегацією та складом полягає в тому, що агрегація - це асоціація між двома об'єктами, яка описує співвідношення "має", а композиція - більш конкретний тип агрегації, що передбачає право власності. Агрегація та склад допомагають зрозуміти поведінку системи.
Ви можете завантажити PDF-версію цієї статті та використовувати її в офлайн-цілях відповідно до примітки. Завантажте тут версію PDF тут Різниця між агрегацією та складом
1. Використання агрегації та складу, Кар'єра людей, 22 травня 2015 р. Доступно тут