Різниця між агрегацією та складом на Java

Ключова різниця - агрегація проти Склад на Java

Агрегація - це асоціація між двома об'єктами, яка описує співвідношення "має-а". Склад - це більш конкретний тип агрегації, що передбачає право власності. The ключова різниця між агрегацією та складом на Java це те, що, якщо об'єкт, що міститься, може існувати без існування об'єкта, що володіє, це агрегація, і якщо об'єкт, що міститься, не може існувати без існування об'єкта, що володіє, це композиція.

Об'єктно-орієнтоване програмування (OOP) - основна парадигма в розробці програмного забезпечення. Він використовується для моделювання програмного забезпечення за допомогою об'єктів. Об'єкти створюються за допомогою класів. Клас складається з властивостей та методів. У програмному забезпеченні є кілька об'єктів. Кожен об'єкт співпрацює один з одним за допомогою передачі повідомлення. Зв'язок між двома об'єктами відомий як асоціація. І агрегація, і склад - це два типи об'єднання. Співвідношення "has-a" описує, що один об'єкт може використовувати інший об'єкт. Агрегація та склад можуть бути реалізовані на підтримуючих мовах OOP. Якщо об'єкт, що міститься, може існувати без існування об'єкта, що володіє, то об'єднання між цими двома об'єктами є агрегацією. Якщо об'єкт, що міститься, не може існувати без власного об'єкта, то об'єднання між цими двома об'єктами є композицією.

ЗМІСТ

1. Огляд та ключові відмінності
2. Що таке агрегація в Java
3. Що таке склад у Java
4. Подібність між агрегацією та складом на Java
5. Порівняльне порівняння - агрегація проти складу у Java у табличній формі
6. Підсумок

Що таке агрегація в Java?

Агрегація - це тип асоціації. Якщо клас має посилання на сутність, він відомий як агрегація. Агрегація представляє взаємозв'язок. Об'єкт Student може мати властивості, такі як student_id, ім'я, адреса. Цей об’єкт також може мати інший об'єкт, який називається адресою, з власною інформацією, такою як місто, штат, країна. У цій ситуації студент має довідкову адресу юридичної особи. Це відносини "має".

Малюнок 01: Клас позначень

Малюнок 02: Основна програма для опису агрегації

Згідно з вищевказаною програмою, клас Марки складаються з трьох властивостей, які є марками математики, англійської мови та науки. Учень має об’єкт Знаки. У нього є свої властивості, які є позначками математики, англійської мови та науки. В основному методі створюється об’єкт Познаки і призначаються значення знаків. Об'єкт студента, який є s1, може використовувати об'єкт знаків, який є m1. Тому студент і оцінки мають відношення "має-до". Об'єкт Marks може існувати без об'єкта Student. Тому це агрегація.

Що таке склад у Java?

Склад - це тип асоціацій. Це специфічна форма агрегації, яка передбачає право власності. Припустимо, що існує два класи, які називаються класами A і B. Якщо об'єкт класу B не може існувати, якщо об’єкт класу A знищений, то це композиція. Книга складається з багатьох сторінок. Якщо книга знищена, сторінки також знищать. Об'єкти сторінки не можуть існувати без об’єкта книги. Дивіться програму нижче.

Малюнок 03: Класний клас

Малюнок 04: Клас школи

Малюнок 05: Основна програма для опису складу

Відповідно до вищезгаданої програми, Класна кімната має два властивості, які є name та numOfStudents. Школа - це колекція предметів Класу. В основному методі створюються два об’єкти Класу. Вони додаються до "аудиторій". Ці "класи" передаються шкільному об'єкту. Нарешті, ім'я та кількість учнів класу друкується шляхом повторення колекції. Якщо об’єкт «Школа» буде знищений, об’єкти «Класна» також будуть знищені. Це приклад композиції. Він також містить відносини "має-а", а також передбачає право власності.

Який взаємозв'язок між агрегацією та складом на Java?

  • Агрегація та Склад - це два типи асоціацій, а Склад - це спеціалізований тип Агрегації. Склад - це підмножина Агрегації.

Яка різниця між агрегацією та складом на Java?

Агрегація проти складу на Java

Агрегація - це асоціація між двома об'єктами, яка описує відношення "має". Склад - більш конкретний тип агрегації, що передбачає право власності.
 Використання
Агрегація використовується, коли один об’єкт використовує інший об’єкт. Композиція використовується тоді, коли одному об’єкту належить інший об’єкт.
Впливати на об’єкти
У сукупності знищення об'єкта, що володіє, не вплине на об'єкт, що містить його. За складом знищення об'єкта, що володіє, вплине на об'єкт, що містить.

Підсумок - Агрегація проти Склад на Java

Агрегація та склад - це два поняття в ООП. Співвідношення "has-a" описує, що один об'єкт може використовувати інший об'єкт. Агрегація - це асоціація між двома об'єктами, яка описує співвідношення "має-а". Склад - більш конкретний тип агрегації, що передбачає право власності. Різниця між агрегацією та складом на Java полягає в тому, що якщо об'єкт, що міститься, може існувати без існування об'єкта, що володіє, це об'єднання, і якщо об'єкт, що міститься, не може існувати без існування об'єкта, що володіє, це композиція.

Довідка:

1. «Асоціація, склад та агрегація в Яві». GeeksforGeeks, 8 лютого 2018 року. Доступний тут 
2. «Агрегація на Яві - Javatpoint». Java Point. Доступний тут