Введение в экспертные системы




7.3. Как сделать людей вежливыми



7.3. Как сделать людей вежливыми


Положим, что используются те же обработчики сообщений для классов guaker и republican, что и в предыдущем примере. Можно, определив специальный заключительный метод для класса person, придать формируемым ответам вежливый вид. Этот метод будет выполняться после того, как будет выполнен основной метод, выбранный для ответа на сообщение speak:

(defmessage-handler guaker speak ()

(printout t crlf "Peace")

)

(defmessage-handler republican speak ()

(printout t crlf "War")

)

(defmessage-handler person speak after()

(printout t ", please" t crlf)

)

Теперь в ответ на запрос (send frichard] speak) последует ответ "War, please" Обработчики сообщений базовых классов имеют статус primary по умолчанию, а потому можно и не указывать это явно в объявлении обработчика, как это сделано, например, ниже:

(defmessage-handler republican speak primary () (printout t crlf "War")









Начало  Назад