- •Билет 1. Время жизни объектов. Связь с типами памяти и областями видимости
- •Билет 2. Области видимости. Связь с временем жизни и типами памяти.
- •Билет №3. Принципы ооп: абстрагирование, инкапсуляция, иерархичность, модульность
- •Билет №4.Классы и объекты, Члены классов. Статические члены классов.
- •Класс - принципиально новый тип данных, который создается программистом
- •Билет №5. Интерфейс и реализация. Чисто абстрактные классы. Интерфейс как ответственность (контракт)
- •Билет №6. Иерархии в объектно-ориентированной системе
- •Билет №7. Полиморфизм
- •Билет №10.Наследование. Область видимости. Разрешение имен.
- •Билет №9. Конструкторы – типы, использование. Деструкторы
- •Билет 11. Виртуальные методы, конструкторы, деструкторы и наследование
- •Билет 12. Инкапсуляция. Модификаторы доступа. Друзья класса
- •Билет №13. Перегрузка операторов. Общие правила.
- •Билет №14. Перегрузка операторов. Арифметические операторы
- •Билет №17. Шаблоны
- •Билет №18.Контейнеры и итераторы. Контейнеры и итераторы stl
- •Vector – поддерживает эффективный случайный доступ к элементам, добавление и удаление из хвоста последовательности
- •Билет №19. Обработка ошибок: исключения. Захват и освобождение ресурса. Когда нужно использовать механизм исключений.
- •Билет №20.Сигнатура методов: передача и возврат объектов.
- •Билет №23. Диаграмма последовательности uml
- •Объекты
- •Линия жизни объекта
- •Фокус управления
- •Сообщения
- •Билет №24. Модульность, связность и связанность в оо системах
- •Interface Segregation Principle (принцип разделения (сегрегация) интерфейсов)
- •Ничего лишнего всё в своё время
Билет №23. Диаграмма последовательности uml
Диаграмма последовательности — диаграмма, на которой показаны взаимодействия объектов, упорядоченные по времени их проявления. Используется в языке UML.
При рассмотрении диаграмм состояния и деятельности, было отмечено, что хотя эти диаграммы и используются для спецификации динамики поведения систем, время в явном виде в них не присутствует. Временной же аспект поведения может иметь существенное значение при моделировании синхронных процессов, описывающих взаимодействия объектов. Для моделирования взаимодействия объектов во времени в языке UML используются диаграммы последовательности.
Объекты
На диаграмме последовательности изображаются только те объекты, которые непосредственно участвуют во взаимодействии. Ключевым моментом для диаграмм последовательности является динамика взаимодействия объектов во времени.
В UML диаграмма последовательности имеет как бы два измерения. Первое слева направо в виде вертикальных линий, каждая из которых изображает линию жизни отдельного объекта, участвующего во взаимодействии. Крайним слева на диаграмме изображается объект, который является инициатором взаимодействия. Правее изображается другой объект, который непосредственно взаимодействует с первым. Таким образом, все объекты на диаграмме последовательности образуют некоторый порядок, определяемый очередностью или степенью активности объектов при взаимодействии друг с другом.
Графически каждый объект изображается прямоугольником и располагается в верхней части своей линии жизни. Внутри прямоугольника записываются имя объекта и имя класса разделенные двоеточием. При этом вся запись подчеркивается, что является признаком объекта.
Вторым измерением диаграммы последовательности является вертикальная временная ось, направленная сверху вниз. Начальному моменту времени соответствует самая верхняя часть диаграммы. Взаимодействия объектов реализуются посредством сообщений, которые посылаются одними объектами другим. Сообщения изображаются в виде горизонтальных стрелок с именем сообщения, а их порядок определяется временем возникновения. То есть, сообщения, расположенные на диаграмме последовательности выше, инициируются раньше тех, которые расположены ниже. Масштаб на оси времени не указывается, поскольку диаграмма последовательности моделирует лишь временную упорядоченность взаимодействий типа «раньше-позже».
Линия жизни объекта
Линия жизни объекта изображается пунктирной вертикальной линией, ассоциированной с единственным объектом на диаграмме последовательности. Линия жизни служит для обозначения периода времени, в течение которого объект существует в системе и, следовательно, может потенциально участвовать во всех ее взаимодействиях. Если объект существует в системе постоянно, то и его линия жизни должна продолжаться по всей плоскости диаграммы последовательности от самой верхней ее части до самой нижней.
Отдельные объекты, выполнив свою роль в системе, могут быть уничтожены, чтобы освободить занимаемые ими ресурсы. Для таких объектов линия жизни обрывается в момент его уничтожения. Для обозначения момента уничтожения объекта в языке UML используется специальный символ в форме латинской буквы «X». Ниже этого символа пунктирная линия не изображается, поскольку соответствующего объекта в системе уже нет, и этот объект должен быть исключен из всех последующих взаимодействий.
Не обязательно создавать все объекты диаграммы в начальный момент времени. Отдельные объекты могут создаваться по мере необходимости, экономя ресурсы системы и повышая ее производительность. В этом случае прямоугольник объекта изображается не в верхней части диаграммы последовательности, а в той части, которая соответствует моменту создания объекта. При этом прямоугольник объекта вертикально располагается в том месте диаграммы, которое по оси времени совпадает с моментом его возникновения в системе. Объект обязательно создается со своей линией жизни и, возможно, с фокусом управления.
