Агрегацията е асоциация между два обекта, която описва връзката „има-а“. Съставът е по-специфичният тип агрегация, който предполага собственост. Най- ключова разлика между агрегирането и състава в Java е това, ако съдържащият се обект може да съществува без притежаващия обект, това е съвкупност и ако съдържащият се обект не може да съществува без притежаващия обект, той е състав.
Обектно-ориентираното програмиране (OOP) е основна парадигма в разработването на софтуер. Използва се за моделиране на софтуера с помощта на обекти. Обектите са създадени с помощта на класове. Класът се състои от свойства и методи. В софтуера има множество обекти. Всеки обект си сътрудничи помежду си чрез предаване на съобщение. Връзката между два обекта е известна като асоциация. Както агрегирането, така и съставът са два вида свързване. Връзката "има-а" описва, че един обект може да използва друг обект. Агрегацията и състава могат да бъдат реализирани на поддържащи езици на OOP. Ако съдържащият се обект може да съществува без съществуването на притежаващия обект, тогава връзката между тези два обекта е агрегация. Ако съдържащият се обект не може да съществува без притежаващия обект, тогава връзката между тези два обекта е композиция.
1. Преглед и ключова разлика
2. Какво е агрегацията в Java
3. Какво е състава в Java
4. Прилики между агрегирането и състава в Java
5. Паралелно сравнение - агрегация срещу състав в Java в таблична форма
6. Резюме
Агрегацията е вид асоциация. Ако клас има референтна единица, той е известен като агрегиране. Агрегацията представлява връзката между връзката. Обектът на Student може да има свойства като student_id, име, адрес. Този обект може да има и друг обект, наречен адрес със собствена информация, като град, щат, държава. В тази ситуация студентът има референтен адрес на образувание. Това е връзка "има-има".
Фигура 01: Марк клас
Фигура 02: Основна програма за описание на агрегацията
Според горната програма класните марки се състоят от три свойства, които са марки Maths, English и Science. Студентът има обект Маркс. Той има свои собствени свойства, които са белези на математиката, английския и науката. В основния метод се създава обект от марки и се присвояват стойности на маркировки. Обектът на студента, който е s1, може да използва обекта марки, който е m1. Следователно, Студентът и Марките имат връзката „има-а”. Обектът Marks може да съществува без обект Student. Следователно, това е съвкупност.
Съставът е вид асоциация. Това е специфична форма на агрегация, която предполага собственост. Да приемем, че има два класа, наречени клас A и B. Ако обектът от клас B не може да съществува, ако обектът от клас A е унищожен, тогава това е композиция. Книга се състои от много страници. Ако книгата бъде унищожена, страниците също ще унищожат. Обектите на страницата не могат да съществуват без обект книга. Вижте по-долу програмата.
Фигура 03: Класна стая
Фигура 04: Училищен клас
Фигура 05: Основна програма за описание на състава
Според горната програма, класната стая има две свойства, които са име и numOfStudents. Училището представлява колекция от предмети в класната стая. В основния метод се създават два обекта Classroom. Те се добавят към „класни стаи“. Тези „класни стаи“ се предават на училищния обект. И накрая, името и номерът на учениците се отпечатват чрез повторение чрез колекцията. Ако обектът School е унищожен, предметите Classroom също ще унищожат. Това е пример за композиция. Той също така съдържа връзката 'има-а' и също предполага собственост.
Агрегация срещу Състав в Java | |
Агрегацията е асоциация между два обекта, която описва връзката „има“. | Съставът е по-специфичен тип агрегация, който предполага собственост. |
употреба | |
Агрегацията се използва, когато един обект използва друг обект. | Композицията се използва, когато един обект притежава друг обект. |
Въздейства върху обекти | |
Като цяло, унищожаването на притежаващия обект няма да повлияе на съдържащия обект. | По състав унищожаването на притежаващия обект ще повлияе на съдържащия обект. |
Агрегацията и Съставът са две концепции в OOP. Връзката "има-а" описва, че един обект може да използва друг обект. Агрегацията е асоциация между два обекта, която описва връзката „има-а“. Съставът е по-специфичен тип агрегация, който предполага собственост. Разликата между агрегиране и композиция в Java е, че ако съдържащият се обект може да съществува без съществуването на притежаващия обект, това е агрегация и ако съдържащият се обект не може да съществува без притежаващия обект, той е състав.
1. „Асоциация, състав и агрегация в Java.“ GeeksforGeeks, 8 февруари 2018 г. Достъпно тук
2. „Агрегация в Java - Javatpoint.“ Java Point. Налични тук