Диаграмма классов
в диаграмма классов это диаграмма, используемая в разработке программного обеспечения для представления классов и интерфейсов систем, а также различных отношений между ними. Класс описывает обязанности, поведение и тип набора объектов. Элементы этого множества являются экземплярами класса.
Класс — это набор функций и данных (атрибутов), связанных между собой семантическим полем. Классы используются в объектно-ориентированном программировании. Они позволяют смоделировать программу и тем самым разделить сложную задачу на несколько небольших простых работ.
Классы могут быть связаны друг с другом благодаря механизму наследования, который позволяет выделить отношения. Между классами возможны и другие отношения, каждое из этих отношений представлено определенной дугой на диаграмме классов.
Схема класса
Класс представлен прямоугольником, разделенным на три части:
- название класса: пишется «римским» шрифтом, абстрактные классы пишутся курсивом или между <<__>>. Классы шаблонов имеют прямоугольник с пунктирной рамкой в правом верхнем углу (см. изображение ниже).
- атрибуты класса
- методы класса

Атрибуты
Синтаксис атрибута следующий: Видимость имя атрибута [множественность] : тип атрибута = Инициализация;
Понятие видимости указывает, кто может иметь доступ к атрибуту, он может принимать четыре значения:
- +: все остальные классы имеют доступ к этому атрибуту (публичный доступ).
- #: доступ к этому атрибуту есть только у класса и его наследования (защищенный доступ).
- ~: класс виден только в пакете.
- –: только сам класс имеет доступ к этому атрибуту (принцип инкапсуляции с геттером и сеттером).
Имя атрибута не должно содержать пробелов, знаков препинания или диакритических знаков. Множественность представляет собой количество раз, когда переменная может существовать для объекта класса.
Ассоциации
Ассоциация — это отношение между двумя классами. Он описывается с помощью:
- из роли от объекта одного класса к объекту другого (опущено, если очевидно);
- из мощностей, то есть количество объектов одного класса в объекте другого класса; Для этого используем обозначения:
- 1 обычно опускается, если 1 к 1
- нет неизвестно во время компиляции, но ограничено
- 0..n между 0 и n
- 1..* 1 или более
- * 0 или больше
- а тип отношений ориентированный;
- необязательно ограничения на ассоциации.
Часто встречаются следующие типы отношений:
- Наследие

- Внутренний класс

- Зависимость

- Агрегация

- Сочинение

Пример
