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

Эталонный код класса

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

Для установки текущего расположения будем применять тип Location, а для температуры — тип Temperature.

Допустим, что мы желаем взять следующий код на C++:

// температура по шкале Цельсия

typedef float Temperature;

// число, конкретно определяющее положение датчика

typedef unsigned int Location;

class TemperatureSensor {

public:

TemperatureSensor (Location);

~TemperatureSensor ();

void calibrate (Temperature actualTemperature);

Temperature currentTemperature() const;

};

Для объектов, создаваемых в программе, либо как их еще именуют — реализаций классов, комфортно применять псевдонимы несложных типов, к примеру, Temperature либо Location вместо unsigned int. Так мы можем обрисовать приобретаемые абстракции на языке предметной области.

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

Ассоциация класса с языком C++

В Rational Rose все типы по умолчанию определяются как классы. Исходя из этого создадим два новых класса: Location и Temperature. Для каждого из них проделаем следующее:

Выберем класс, после этого Menu:Tools=C++=Code Generation. Покажется диалоговое окно, продемонстрированное на рис. 13.1.

Рис. 13.1.Назначение классу языка программирования C++

Тут нужно выбрать класс, для которого назначается язык программирования, и надавить Assign (назначить).

Просмотр кода класса

По окончании генерации кода в контекстном меню станет дешёв дополнительный пункт — C++, в котором возможно просмотреть заголовочный файл (Header).h и файл тела класса (Body) .cpp, как продемонстрировано на рис. 13.2.

Рис. 13.2.Дешёвое меню C++

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

Установка типа объекта

Сейчас во снова показавшемся меню выбираем Open Specification= C++=Implementation Type=Override, после этого в графе Value заполняем unsigned int. Должно оказаться так, как продемонстрировано на рис. 13.3.

Рис. 13.3.Заполнение свойства Implementation Type

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

Проделайте то же самое с классом Temperature, лишь не забудьте установить тип float и запустите генерацию кода RClick=C++=какое количество Generation. Просмотрите заголовок, и вы заметите, что оказалось как раз то, что заказывали.

Сейчас мы можем воспользоваться взятыми типами для класса датчика температуры.

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

Выбираем TemperatureSensor=RClick=New Operation и вводим имя calibrate (actualTemperature : Temperature) : void. Напомним, что в отличие от семантики языка C++, тут сперва указывается переменная, а после этого, по окончании двоеточия, ее тип, подобно и возвращаемое значение указывается по окончании операции через двоеточие. Слева от операции показался значок, в случае если его выбрать, то раскрывается комплект значков, каковые отражают доступность операции, соответственно: public, protected, private и implementation. В последнем случае, если элемент выяснен в контейнере, он будет виден лишь для объектов, определенных в этом контейнере.

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

Замечание. В случае если заполнить поле TemperatureSensor=RCIick=Open Specification-Documentation, то вы получите машинально создаваемые комментарии в исходном тексте, каковые высвечиваются в окне Documentation, в то время, когда выделяется документированный класс.

Новая операция CS:GO / Survival режим / Ближний бой CQC — Обновление CS:GO


Также читать:

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