Что такое агрегация в Java и зачем она вам нужна?



Агрегация в Java представляет отношение HAS-A, которое представляет собой однонаправленную ассоциацию или одностороннюю связь, при которой обе записи могут сохраняться по отдельности.

Когда вы пишете , если вы хотите связать один класс с другим, используя его ссылку, вы можете использовать агрегацию в Java. Итак, давайте узнаем, как работает агрегирование в .

Что такое агрегирование?

Прежде чем вы поймете, что такое агрегация, давайте узнаем об ассоциации в Java.Ассоциация упоминается как отношение между двумя отдельными классами, которое устанавливается через их Объекты . Это может быть один к одному, один ко многим, многие к одному, многие ко многим. Давайте разберемся с ассоциацией на примере.





package Edureka class School {private static String name // название банка School (String name) {this.name = name} public static String getSchoolName () {return name}} // класс класса сотрудника Student {private String name // имя сотрудника Student (String name) {this.name = name} public String getStudentName () {return this.name}} // Связь между обоими // классами в основном методе public class Association {public static void main (String [] args) {School newSchool = new School ('Java Class') Студент stu = new Student ('Vian') System.out.println (stu.getStudentName () + 'является учеником' + School.getSchoolName ())}}

Вывод: Виан изучает Java Class

что такое семафор в Java

Теперь посмотрим, что Агрегация в Java.



Агрегация - это на самом деле особая форма ассоциации.Это означает, что это называется отношениями между двумя классами, такими как Association. Однако это направленная ассоциация, что означает, что она строго следует односторонней ассоциации. Это представляет собой отношения HAS-A.

Это считается более специализированной версией ассоциативных отношений. Класс Aggregate содержит ссылку на другой класс и, как говорят, владеет этим классом. Каждый класс, на который имеется ссылка, считается частью класса Aggregate.

Теперь скажем, например, яf Класс A содержит ссылку на класс B, а класс B содержит ссылку на класс A, тогда четкое право собственности не может быть определено, и отношение является просто одним из ассоциаций.



Давайте посмотрим на этот пример:

package Edureka class Address {int streetNum String city String state String country Address (int street, String c, String st, String coun) {this.streetNum = street this.city = c this.state = st this.country = coun}} class Employee {int EmployeeID String EmployeeName // Создание отношения HAS-A с адресом class Address EmployeeAddr Employee (int ID, String name, Address addr) {this.EmployeeID = ID this.EmployeeName = name this.EmployeeAddr = addr}} открытый класс Агрегация {public static void main (String args []) {Address ad = new Address (2, 'Bangalore', 'Karnataka', 'India') Employee obj = new Employee (1, 'Suraj', ad) System.out .println (obj.EmployeeID) System.out.println (obj.EmployeeName) System.out.println (obj.EmployeeAddr.streetNum) System.out.println (obj.EmployeeAddr.city) System.out.println (obj.EmployeeAddr .state) System.out.println (obj.EmployeeAddr.country)}}

Вывод:

Агрегация в выводе Java - Edureka

как реализовать связанный список в c

Теперь у вас может быть этот вопрос. Почему именно вам следует использовать это агрегирование в Java?

Зачем нужна агрегация?

Основная причина, по которой вам нужна агрегация, - это поддерживать возможность повторного использования кода. Например, если вы создаете класс, такой же, как в приведенном выше примере, вам необходимо сохранить детали присутствующего сотрудника. И вам не нужно использовать один и тот же код снова и снова, вместо этого используйте ссылку на класс при их определении.

пример переменной экземпляра в java

Это подводит нас к концу этой статьи, где мы узнали об агрегировании в . Надеюсь, вы понимаете все, о чем вам рассказывают в этом руководстве.

Если вы нашли эту статью «Агрегация в Java» релевантной, ознакомьтесь с надежная компания онлайн-обучения с сетью из более чем 250 000 довольных учащихся по всему миру.

Мы здесь, чтобы помочь вам на каждом этапе вашего пути. Эта учебная программа предназначена для студентов и профессионалов, желающих стать Java-разработчиком. Курс разработан, чтобы дать вам хорошее начало в программировании на Java и обучить вас как основным, так и продвинутым концепциям Java, а также различным средам Java, таким как Hibernate и Spring.

Если у вас возникнут какие-либо вопросы, не стесняйтесь задавать все свои вопросы в разделе комментариев «Агрегация в Java», и наша команда будет рада ответить.