Пример 11.41. Класс а и обработчики сообщений put-x и delete

(defclass A (is-a USER)

(role concrete)

(slot x (default 34)

(create-accessor write))

(slot у (default abc)))

(defmessage-handler A put-x before (?value)

(printout t "Slot x set with message." crlf))

(defmessage-handler A delete after ()

(printout t "Old instance deleted. " crlf))

После этого попробуйте создать объект с помощью функции make-instance, удалить его и создать объект с переопределением значения для некоторого слота. Обратите внимание на содержимое слотов объекта и выводимые на экран сообщения. Пример подобных операций с объектом приведен на рис. 11.21

Рис. 11.21. Использование команды make-instance

Конструктор definstances

Подобно конструктору deffacts, конструктор definstances позволяет опре­делять объекты, которые будут создаваться каждый раз при выполнении команды reset. При выполнении reset все текущие объекты получают сообщение delete, после чего CLIPS производит вызовы функции make-instance для каждого объекта, определенного в конструкторе definstances.


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



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