Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методическое пособие (KAPPA).doc
Скачиваний:
27
Добавлен:
10.02.2015
Размер:
393.22 Кб
Скачать

Результаты выполнения шага 4

Вы создали образ (ползунок) устанавливающий, т.е. позволяющий пользователю ввести значение рейтинга Тома (рис. 4). Кликните на иконке Session. В окне Session нажмите указателем мыши на ползунок и попробуйте его переместить. Это действие позволит пользователю вести значение рейтинга Тома.

Рис. 4. Образ «ползунок» в окне Session.

Попробуйте также проделать следующее. Откройте окно Object Browser. Далее кликните на объекте Tom. На выпадающем меню выберите опцию Edit. Появится окно редактора объектов. Обратите внимание и запомните значение свойства Performance. Закройте окно редактора объектов. Теперь откройте окно Session и переместите ползунок. Откройте еще раз окно редактора объектов для объекта Tom. Обратите внимание на изменившееся значение свойства Performance.

Шаг 5: Создание и использование методов

Поскольку интересно иметь приложение, работающее автоматически, то в ситуациях, когда качество работы служащего превзойдет значение рейтинга 9, его необходимо продвинуть в менеджеры также автоматически, т.е. программным путем. Вы по сути уже перешли к определению критериев, которые будут управлять рассуждениями в ходе решения задачи. Этому посвящены шаги 5 – 7.

Методы – это способы определения «поведения», специфичного для классов и объектов. Методы управляются (запускаются, срабатывают) данными или когда получают сообщения. Создадим особую переменную, которую назовем Self. Значение переменной Self – объект, который будет получать сообщение. В таком случае переменная Self будет получать значение Engineer, когда качество работы служащего превысит 9.

Интерактивно

Программно

  1. В Object Browser кликните на классе JobLevel и выберите Edit из выпадающего меню.

В окне KAL-интерпретатора введите:

MakeMethod (JobLevel, ChangeJob, [ ], If (Self: Performance > 9) Then MoveInstance (Self, Manager) Else MoveInstance (Self, Engineer);

SetSlotOption (JobLevel, Performance, AFTER_CHANGE, ChangeJob);

2. Выберите Methods из меню и выберите New из выпадающего меню.

3. Введите ChangeJob в поле имени и нажмите Enter.

4. Нажмите Enter еще раз (чтобы закончить ввод в поле аргументов и ввести данные в поле тела метода).

5. Введите в поле тела метода следующее:

If (Self: Performance > 9)

Then MoveInstance (Self, Manager) Else MoveInstance (Self, Engineer);

6. Выберите Update из меню и выберите Close из выпадающего меню, чтобы закрыть редактор методов.

7. Дважды кликните на слоте Performance, чтобы отредактировать его. Выберите в меню Options, чтобы открыть форму для спецификации параметров слота.

8. В поле After Change формы введите имя только что разработанного метода - ChangeJob.

9. Нажмите Enter.

10. Выберите еще раз Update из меню редактора классов и выберите Close из выпадающего меню. Нажмите Enter, чтобы закрыть окно и сохранить метод.

Завершите шаг 5.

Из меню главного окна КАРРА РС выберите Fail, далее Save as

В поле Fail Name Field введите Tut5.kal и кликните на кнопке Save.