Добавление начальных состояний устройств


Теперь в исходный код конструктора добавляем начальное состояние устройств. Все устройства в начале работы у нас будут выключены. А в операции ON() и OFF() добавляем присвоение нового состояния устройства в переменную m_CurrentState. Таким образом, полученный код будет выглядеть следующим образом:

И головной класс устройств готов.

Создание операций ON/OFF для дочерних классов

Теперь для классов устройств, наследуемых из класса CPIantDevice, можно создать операции ON() и OFF(), которые должны быть переопределены. Для этого, опять же, необходимо активизировать окно Model Assistant на необходимом классе. Возьмем для примера класс Light (рис. 19.7).

Рис. 19.7.Установки для переопределяемых операций класса Light

Здесь можно увидеть, что появилась папка Overrides (переопределение), в которой можно выбрать те операции, для которых необходимо переопределение. Поставим отметки на ON() и OFF() и обновим код, для того чтобы посмотреть, что получилось.


Файл Light.h:

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

Совет. Вставляйте комментарии везде, где это возможно.

После этих действий диаграмма классов должна будет принять примерно следующий вид (рис. 19.8).

Рис. 19.8.Иерархия классов исполнительных устройств

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



Дата добавления: 2016-06-18; просмотров: 1134;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.