Агрегация против состава

Автор: Laura McKinney
Дата создания: 4 Апрель 2021
Дата обновления: 5 Май 2024
Anonim
Агрегация и Композиция
Видео: Агрегация и Композиция

Содержание

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


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


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

Содержание: Разница между агрегацией и составом

  • Сравнительная таблица
  • Что такое агрегация?
  • Ключевые отличия
  • Заключение
  • Пояснительное видео

Сравнительная таблица

основаагрегирование Сочинение
СмыслВ агрегации есть родительские дочерние отношения, в которых ребенок может существовать независимо

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


 

ассоциацияСуществует слабая ассоциация в агрегации.Существует сильная ассоциация в составе.
UMLВ UML агрегация может быть определена с помощью отрезкаВ UML состав можно определить с помощью алмаза.
функцияУдаление сборок не влияет на агрегацию.Удаление композиции может повлиять на композицию

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

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

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

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

Ключевые отличия

  1. В агрегации существуют родительские дочерние отношения, в которых дочерний элемент может существовать независимо, тогда как Composition - родительские дочерние отношения, в которых дочерний элемент не может существовать независимо без родителя.
  2. Существует слабая ассоциация в агрегации, тогда как существует сильная ассоциация в составе, тогда как существует сильная ассоциация в составе.
  3. В UML агрегация может быть определена с помощью сегмента линии, тогда как в UML композиция может быть определена с помощью ромба.
  4. Удаление сборки не влияет на агрегацию, тогда как удаление композиции может влиять на композицию

Заключение

В этой статье выше мы видим четкую разницу между агрегацией и составом на примерах.

Пояснительное видео