(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.