Добавление атрибутов и операций класса

Добавление атрибутов

Для добавления атрибутов класса следует открыть диалоговое окно его свойств и выбрать категорию свойств «Атрибуты». Внешний вид диалогового окна редактирования атрибутов класса представлено на рис. 3.3.

Добавление атрибутов и операций класса

Рис. 3.3. Редактирование атрибутов класса.

Атрибуты класса сведены в таблицу со следующими полями: атрибут, тип, видимость, кратность, начальное значение. Каждое поле этой таблицы соответствует одному из основных параметров атрибута. Для получения полного доступа ко всем параметрам атрибута следует выделить требуемый атрибут и нажать кнопку «Свойства». В рамках данной работы используются только основные параметры атрибутов.

Параметр «Атрибут» задаёт идентификатор выделенного атрибутов данного класса. Для добавления нового атрибута следует ввести в свободном поле идентификатор (название) атрибута. Обычно для именования идентификаторов атрибутов используют нотацию Camel Case, требующую именовать идентификаторы, начиная со строчной буквы. Если идентификатор, записанный согласно правилам Camel Case, состоит из нескольких слов, то эти слова записываются без пробелов, причём каждое слово начинается с прописной буквы. Для именования атрибутов принято использовать одно или несколько существительных или прилагательных, характеризующих и идентифицирующих экземпляр данного класса. Примеры идентификаторов атрибутов, записанных в Camel Case: color, bookTitle, startPageName.

Примечание Для добавления нового атрибута допустимо также воспользоваться кнопкой «Создать».

Параметр «Тип» указывает тип реализации атрибута, определяющий набор возможных значений, принимаемых атрибутом в экземпляре данного класса, например, целочисленные или строковые значения. В качестве типов атрибута могут выступать другие классы. Возможные значения типов выбираются из выпадающего списка. В этот список включаются основные типы языков программирования C#, C++, IDL, VB, а также типы, определённые в данной диаграмме. При этом все типы представлены в виде путей.

Параметр «Видимость» определяет способность одного элемента видеть другой элемент или ссылаться на него. Данный параметр аналогичен параметру «Видимость» класса, но действует на уровне данного атрибута.

Параметр «Кратность» указывает допустимое число значений, которые могут содержаться в экземпляре атрибута. В рамках данной работы этот параметр не используется.

Параметр «Начальное значение» позволяет задать значение атрибута, устанавливаемое при инициализации экземпляра данного класса.

Для управления списком атрибутов в диалоговом окне редактирования свойств класса предусмотрены следующие кнопки: создать, дублировать, удалить, вверх, вниз, свойства.

Кнопка «Создать» предназначена для создания нового атрибута с автоматически назначаемым именем.

Кнопка «Дублировать» предназначена для добавления в список нового атрибута с теми же значениями свойств, что и у выбранного атрибута, но с автоматически назначаемым именем.

Кнопка «Удалить» позволяет удалить выбранный атрибут.

Кнопки «Вверх» и «Вниз» предназначены для изменения порядок хранения атрибутов и позволяют переместить выделенный атрибут соответственно вверх или вниз по списку.

Кнопка «Свойства» позволяет изменять все параметры выделенного атрибута в отдельном диалоговом окне.

Добавление операций

Для добавления атрибутов класса следует открыть диалоговое окно его свойств и выбрать категорию свойств «Атрибуты». Внешний вид диалогового окна редактирования атрибутов класса представлено на рис. 3.4.

Добавление атрибутов и операций класса

Рис. 3.4. Редактирование операций класса.

Операции класса сведены в таблицу со следующими полями: операция, тип возврата, видимость, полиморфный, область. Каждое поле этой таблицы соответствует одному из основных параметров операции. Для получения полного доступа ко всем параметрам операции следует выделить требуемый атрибут и нажать кнопку «Свойства».

Параметр «Операции» задаёт идентификатор выделенной операции данного класса. Для добавления новой операции следует ввести в свободном поле идентификатор (название) операции. Обычно для именования идентификаторов атрибутов используют нотацию Pascal Case, требующую именовать идентификаторы, начиная с прописной буквы. Если идентификатор, записанный согласно правилам Pascal Case, состоит из нескольких слов, то эти слова записываются без пробелов, причём каждое слово начинается с прописной буквы. Для именования операций принято использовать глагол, определяющий действие и одно или несколько существительных или прилагательных, поясняющих направленность этого действия. Примеры идентификаторов операций, записанных в Pascal Case: SetColor, CreateBookTitle, GetStartPageName.

Примечание Для добавления новой операции допустимо также воспользоваться кнопкой «Создать».

Параметр «Тип возврата» указывает тип значения, возвращаемого реализацией данной операции, например вещественное число. Данный параметр аналогичен параметру «Тип» атрибута.

Параметр «Видимость» определяет доступность данной операции для других классов. Данный параметр аналогичен параметру «Видимость» атрибута.

Параметр «Полиморфный» разрешает или запрещает возможность переопределения поведения данной операции в классах-наследниках [2]. В случае если метод, реализующий данную операцию, без изменений наследуется всеми потомками данного класса, данный флажок следует сбросить.

Параметр «Область» определяет, применима ли данная операция исключительно к классу, а не к конкретным экземплярам класса (объектам) или нет. Для операций, применимых к объектам следует указать значение данного параметра «экземпляр». Для операций, применимых к классу объектов следует выбрать «классификатор». Пример операции, применимых к классу объектов: определение площади поверхности указанной фигуры по её размерам. Для аналогичной операции возможна реализация на уровне экземпляра класса: определение площади поверхности данной фигуры.

Кнопки «Создать», «Дублировать», «Удалить», «Вверх», «Вниз» аналогичны таким же кнопкам при работе с атрибутами.

Кнопка «Методы» позволяет вести программный код метода, реализующего выбранную операцию. В рамках данной работы реализация методов не предусмотрена.

Кнопка «Свойства» позволяет установить полный набор параметров операции. При нажатии этой кнопки открывается диалоговое окно свойств операции, представленное на рис. 3.5. В рамках данной работы из всех возможностей данного диалогового окна используется только редактирование параметров операции и задание её исключений.

Добавление атрибутов и операций класса

Рис. 3.5. Редактирование свойств операции.

Параметры операции позволяют передавать данные в операцию и получать результаты выполнения операции. Каждый параметр операции подобен атрибуту класса, поскольку также имеет идентификатор в нотации Camel Case, тип и значение по умолчанию.

Однако параметры операции имеют также параметр «Вид», определяющий направление движения данных выбранного параметра. Возможные значения направления движения данных: «в» — входной параметр (только передаёт данные в операцию), «из» — выходной параметр (только получает данные из операции), «в/из» — входной/выходной параметр (передаёт данные в операцию и получает обновлённые данные из операции).

Для указания исключений операции следует открыть диалоговое окно свойств операции и выбрать категорию свойств «Исключения». В появившемся списке исключений отметьте исключения, которые могут возникнуть при выполнении данной операции.

Задание

1. Создание новой статической диаграммы и нового пакета. Создайте новую статическую схему модели UML. Переименуйте систему UML и Основной пакет в соответствии с вариантом задания.

2. Добавление классов и типов данных. Разместите на статической модели необходимые классы в соответствии с вариантом задания.

Проанализируйте добавленные классы и определите их свойства. Для каждого свойства задайте тип данных. В случае, если для задания типа атрибута требуется специализированный тип данных, например, дата/время, добавьте необходимые типы данных в статическую модель.

Проанализируйте классы и их атрибуты. Определите и добавьте необходимые операции классов с указанием полного перечня их параметров, возвращаемых значений и типов данных. При необходимости добавьте дополнительные типы данных.

3. Добавление исключений. Проанализируйте действия, осуществляемые при выполнении добавленных операций классов, и определите недопустимые комбинации параметров этих операций, а также возможные нарушения явных или неявных правил при выполнении операций. Данные нарушения следует преобразовать в исключения.

Разместите на статической модели исключения, возникающие при выполнении операций. Укажите для требуемых операций исключения, возникающие при их выполнении.

4. Добавление примечания. Разместите в правом нижнем углу статической модели примечание с указанием фамилии и инициалов студента, номера группы и номера варианта.

Варианты заданий

Вариант 1. Моделирование обзорной радиолокационной станции управления воздушным движением.

Система UML: РлсУвд. Основной пакет: Цели. Классы: самолёт, вертолёт, грозовой фронт.

Самолёт и вертолёт характеризуются номером борта, горизонтальными координатами, высотой, скоростью и направлением полёта. При этом следует учитывать, что вертолёт в отличии от самолёта может зависать в воздухе.

Грозовой фронт характеризуется протяжённостью, ориентацией, горизонтальными координатами, высотой, скоростью и направлением движения.

Предусмотреть предупреждение оператора при опасном сближении самолётов или вертолётов, а также оценку расстояния от летательного аппарата от грозового фронта.

Вариант 2. Генератор периодических низкочастотных сигналов.

Система UML: Гпнс. Основной пакет: Сигналы. Классы: синусоидальный сигнал, прямоугольный сигнал, треугольный сигнал, сигнал произвольной формы.

Все классы характеризуются частотой и начальной фазой. Все сигналы за исключением сигнала произвольной формы характеризуются амплитудой.

Прямоугольный сигнал дополнительно характеризуется скважностью.

Сигнал произвольной формы должен описываться оцифрованным сигналом (шаблоном) с указанной частотой дискретизации. Этот оцифрованный сигнал (шаблон) циклически повторяется при генерации сигнала произвольной формы. Для сигнала-шаблона должен быть предусмотрен масштабный коэффициент, позволяющий изменять масштаб сигнала по напряжению.

Предусмотреть возможность пересчёта частоты сигнала в период и обратно.

Вариант 3. Внутриофисная охранная сигнализация.

Система UML: ВОС. Основной пакет: Датчики. Классы: видеокамера, датчик движения, контактный датчик, сирена.

Все датчики, включая видеокамеру, а также сирена, характеризуется идентификационным номером, комнатой, местоположением в комнате, датами монтажа и последней проверки.

При этом сирена дополнительно характеризуется громкостью, а также наличием или отсутствием проблескового маячка.

Видеокамера дополнительно характеризуется углом поворота.

Предусмотреть возможность проверки и отключения сирены. Предусмотреть возможность срабатывания датчиков, а также включения, выключения и поворота видеокамеры.

Вопросы для самопроверки

1. Для чего используется фигура «Класс»?

2. Чем класс отличается от объекта?

3. Как задать тип атрибута, не соответствующий ни одному из стандартных типов данных?

4. Какие существуют возможности по группировке классов?

5. Для чего используются статические поля классов?

[Урок AutoCAD] Динамические блоки, атрибуты и извлечения данных в Автокад.


Похожие статьи.

Понравилась статья? Поделиться с друзьями: