Разница между агрегацией и композицией в Java

Ключевая разница - агрегация против Сочинение на Яве

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

Объектно-ориентированное программирование (ООП) является основной парадигмой в разработке программного обеспечения. Он используется для моделирования программного обеспечения с использованием объектов. Объекты создаются с использованием классов. Класс состоит из свойств и методов. В программном обеспечении есть несколько объектов. Каждый объект сотрудничает друг с другом посредством передачи сообщений. Отношения между двумя объектами известны как ассоциация. И агрегация, и состав являются двумя типами ассоциации. Отношение «есть» описывает, что один объект может использовать другой объект. Агрегирование и составление могут быть реализованы на языках поддержки ООП. Если содержащийся объект может существовать без существования объекта-владельца, то связь между этими двумя объектами является агрегацией. Если содержащийся объект не может существовать без существования объекта-владельца, то связь между этими двумя объектами является композицией.

СОДЕРЖАНИЕ

1. Обзор и основные отличия
2. Что такое агрегация в Java
3. Что такое композиция в Java
4. Сходства между агрегацией и композицией в Java
5. Сравнение бок о бок - агрегация против композиции в Java в табличной форме
6. Резюме

Что такое агрегация в Java?

Агрегация - это тип ассоциации. Если класс имеет ссылку на сущность, он называется агрегацией. Агрегация представляет отношение «есть». Объект Student может иметь такие свойства, как student_id, name, address. Этот объект может также иметь другой объект, называемый адресом, со своей собственной информацией, такой как город, штат, страна. В этой ситуации у Студента есть адрес ссылки на сущность. Это отношения "есть".

Рисунок 01: Класс знаков

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

Согласно вышеприведенной программе, класс Marks состоит из трех свойств: Maths, English и Science. У ученика есть объект марки. Он имеет свои собственные свойства, которые являются признаками математики, английского языка и науки. В основном методе создается объект меток и присваиваются значения меток. Объект ученика s1 может использовать объект меток m1. Следовательно, Студент и Маркс имеют отношения «есть». Объект Marks может существовать без объекта Student. Следовательно, это агрегация.

Что такое композиция в Java?

Композиция - это тип ассоциации. Это особая форма агрегации, которая подразумевает владение. Предположим, что есть два класса, называемых классом A и B. Если объект класса B не может существовать, если объект класса A уничтожен, то это композиция. Книга состоит из множества страниц. Если книга будет уничтожена, страницы также будут уничтожены. Объекты страницы не могут существовать без объекта книги. См. Ниже программу.

Рисунок 03: Классная комната

Рисунок 04: Школьный класс

Рисунок 05: Основная программа для описания композиции

Согласно вышеприведенной программе, в классе есть два свойства: name и numOfStudents. Школа - это коллекция предметов класса. В основном методе создаются два объекта класса. Они добавлены в «классные комнаты». Эти «классные комнаты» передаются школьному объекту. Наконец, имя класса и количество учеников печатаются путем перебора коллекции. Если школьный объект уничтожен, классные объекты также будут уничтожены. Это пример композиции. Он также содержит отношения «есть» и подразумевает право собственности.

Какова связь между агрегацией и композицией в Java?

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

В чем разница между агрегацией и композицией в Java?

Агрегация против композиции в Java

Агрегация - это связь между двумя объектами, которая описывает отношение «имеет». Композиция - это более специфический тип агрегации, который подразумевает владение.
 использование
Агрегация используется, когда один объект использует другой объект. Композиция используется, когда один объект владеет другим объектом.
Влияние на объекты
В агрегации уничтожение объекта-владельца не повлияет на содержащий объект. В композиции уничтожение объекта-владельца повлияет на содержащий объект.

Резюме - Агрегация против Сочинение на Яве

Агрегация и состав являются двумя понятиями в ООП. Отношение «есть» описывает, что один объект может использовать другой объект. Агрегация - это связь между двумя объектами, которая описывает отношение «есть». Композиция - это более специфический тип агрегации, который подразумевает владение. Различие между агрегацией и композицией в Java заключается в том, что, если содержащийся объект может существовать без существования объекта-владельца, это агрегация, и если содержащийся объект не может существовать без существования объекта-владельца, это композиция.

Ссылка:

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