В структурной диаграмме классов UML можно выделить следующие основные виды отношений:
Ассоциация (Association): Представляет собой связь между экземплярами классов. Может быть однонаправленной или двунаправленной.
Агрегация (Aggregation): Особый тип ассоциации, представляющий отношение "часть-целое", где "целое" может существовать без своих "частей". Обозначается пустым ромбом со стороны "целого".
Композиция (Composition): Более сильная форма агрегации. Отношение "часть-целое", где "часть" не может существовать без "целого". Если "целое" уничтожается, то и "части" уничтожаются. Обозначается закрашенным ромбом со стороны "целого".
Зависимость (Dependency): Указывает, что изменение в одном элементе (независимом) может повлиять на другой элемент (зависимый), но не наоборот. Обозначается пунктирной стрелкой.
Наследование (Inheritance / Generalization): Представляет отношение между родительским классом (superclass) и дочерним классом (subclass), где дочерний класс наследует атрибуты и методы родительского класса. Обозначается полой стрелкой, указывающей на родительский класс.
Реализация (Realization): Используется для показа того, что класс реализует интерфейс. Класс предоставляет конкретную реализацию операций, объявленных в интерфейсе. Обозначается пунктирной стрелкой с полой головой, указывающей на интерфейс.
Пример отношений:
java
В диаграмме классов UML эти отношения показываются соответствующими символами и линиями между классами.