В структурной диаграмме классов UML существуют следующие виды отношений:
Ассоциация (Association): Отношение между двумя или более классами, описывающее связь между их экземплярами. Может быть направленной или ненаправленной. Может включать кратность (multiplicity), определяющую количество экземпляров одного класса, связанных с экземплярами другого. Примеры кратности: 1 (ровно один), 0..1 (ноль или один), 1..* (один или более), * (ноль или более).
Агрегация (Aggregation): Специальный случай ассоциации, представляющий отношение "часть-целое" (part-whole). "Часть" может существовать независимо от "целого". Графически изображается незакрашенным ромбом на стороне "целого".
Композиция (Composition): Более строгий вариант агрегации. "Часть" не может существовать без "целого". При удалении "целого" удаляется и "часть". Графически изображается закрашенным ромбом на стороне "целого".
Зависимость (Dependency): Отношение, в котором изменение спецификации одного элемента (поставщика) влияет на другой элемент (клиента), но не наоборот. Клиент зависит от поставщика. Обычно изображается пунктирной стрелкой от клиента к поставщику. Часто используется для связей между классами, где один класс использует другой как параметр метода, локальную переменную или возвращаемое значение.
Обобщение/Наследование (Generalization):
В структурной диаграмме классов UML существуют следующие виды отношений:
Ассоциация (Association): Отношение между двумя или более классами, описывающее связь между их экземплярами. Может быть направленной или ненаправленной. Может включать кратность (multiplicity), определяющую количество экземпляров одного класса, связанных с экземплярами другого. Примеры кратности: 1 (ровно один), 0..1 (ноль или один), 1..* (один или более), * (ноль или более).
Агрегация (Aggregation): Специальный случай ассоциации, представляющий отношение "часть-целое" (part-whole). "Часть" может существовать независимо от "целого". Графически изображается незакрашенным ромбом на стороне "целого".
Композиция (Composition): Более строгий вариант агрегации. "Часть" не может существовать без "целого". При удалении "целого" удаляется и "часть". Графически изображается закрашенным ромбом на стороне "целого".
Зависимость (Dependency): Отношение, в котором изменение спецификации одного элемента (поставщика) влияет на другой элемент (клиента), но не наоборот. Клиент зависит от поставщика. Обычно изображается пунктирной стрелкой от клиента к поставщику. Часто используется для связей между классами, где один класс использует другой как параметр метода, локальную переменную или возвращаемое значение.
Обобщение/Наследование (Generalization):
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.