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

Оглавление:

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

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

Видео: Разница между агрегацией и компоновкой в Java
Видео: Урок Java 167: Отношения между классами is A и Has A 2024, Май
Anonim

Ключевое различие - агрегирование и композиция в Java

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

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

СОДЕРЖАНИЕ

1. Обзор и основные различия

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

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

4. Сходства между агрегацией и компоновкой в Java

5. Сравнение бок о бок - агрегирование и композиция в Java в табличной форме

6. Резюме

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

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

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

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

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

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

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

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

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

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

Рисунок 03: Классный класс

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

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

Ключевое различие между агрегированием и компоновкой в Java
Ключевое различие между агрегированием и компоновкой в Java

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

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

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

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

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

Различать статью в середине перед таблицей

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

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

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

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

Рекомендуем: