Пример 11.25. Использование грани акцессора

(defclass A (is-a USER)

(role concrete)

(slot foo (create-accessor write))

(slot bar (create-accessor read)))

В классе A содержатся слоты foo и bar, причем для слота foo будет автома­тически создан акцессор для записи нового значения в слот, а для слота bar — акцессор для чтения. Попробуйте создать объект класса A с инициализацией слота foo, а затем инициализацией слота bar. Вы должны полу­чить результат, приведенный на рис. 11.10.

Рис. 11.10. Использование акцессоров

Как видно из рисунка, создание объекта b класса A с попыткой проинициализировать слот bar значением 45 не увенчалась успехом. CLIPS выдал сообщение об ошибке, в котором говорится, что CLIPS не нашел подходящего обработчика сообщений для инициализации слота bar. Другие примеры использования грани create-accessor и соответствующих обработчиков сообщений вы уже встречали в этой главе.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: