(defmessage-handler A special-put primary (?value)
(printout t "special-put "?value crlf)
(bind?self:special?value))
Рис. 11.11. Использование обработчиков put-special и special-put
Данный обработчик просто выводит на экран имя сообщения и новое значение слота special.
Выполним последовательность действий, представленную в примере 11.28.
Пример 11.28. Использование обработчиков put-special и special-put
(make-instance a of A (special 1))
(send [a] put-special 2)
(send [a] special-put 3)
Вы должны получить результат, идентичный приведенному на рис. 11.11. Легко заметить, что несмотря на то, что для данного класса а существует стандартный акцессор, функция make-instance для инициализации слота special использует обработчик special-put.