#java
Композиция и агрегация представляют собой создание объект-ов(а) класса в общем классе. В случаях использования композиции и агрегации, класс не «является» (предпочтительней наследование), а «является частью». Рука не является человеком, но является частью человека(пример композиции). Пистолет не является полицейским, но является частью полицейского(пример агрегации). Композиция контролирует жизненный цикл своих составных частей, в агрегации они могут жить и отдельно. Разница композиции и агрегации в контроле жизненного цикла.
Ответы
Ответ 1
Разница между композицией и агрегацией в различных требованиях к дизайну класса. Вместе с тем ваше утверждение "Разница композиции и агрегации в контроле жизненного цикла." тоже верно. Есть отличный ответ на эту тему: https://ru.stackoverflow.com/a/597085/217374Ответ 2
В целом все верно. Композиция и агрегация являются частными случаями ассоциации. Ассоциация - это когда классы имеют ссылки друг на друга, так как им необходимо взаимодействовать между собой. Например, класс Собака и класс Человек. Оба являются независимыми, самодостаточными, но иногда они взаимодействуют между собой Композиция - это когда какой то класс является самодостаточным, а другие не могут независимо от него существовать. Например, класс Рука и класс Человек. Рука является частью Человека, но она не может существовать отдельно от Человека. Агрегация - аналогично композиции, но здесь уже класс является самодостаточным и он может быть использован в различных классах. Например, класс Телевизор и класс Бабушка и класс Дедушка. С Телевизором Бабушка и Дедушка могут выполнять различные действия, не обязательно что только один класс. Более подробно и с uml диаграммами можете ознакомиться по ссылке
Комментариев нет:
Отправить комментарий