Пример 11.39. Класс car


 

(defclass CAR (is-a USER)

(role concrete)

(slot price (default 75000))

(slot model (default Corniche)))

Рис. 11.17. Создание и инициализация экземпляра класса CAR

Включите просмотр поступающих сообщений с помощью команды (watch messages) и просмотр активизированных обработчиков командой (watch message-handlers) и создайте после этого какой-нибудь объект класса car. Вы должны увидеть результат, идентичный приведенному на рис. 11.17. Как видно из рисунка, сразу после создания объекту Rools-Royce класса car были посланы сообщения create и init.

Удаление объекта

При удалении объект класса, унаследованного от системного класса user, получает сообщение delete, которое обрабатывается предопределенным системным обработчиком.

Определение 11.11. Синтаксис системного обработчика delete

(defmessage-handler USER delete primary ())

 

Этот обработчик отвечает за удаление объекта из системы. Пользователь должен самостоятельно послать сообщение delete объекту, который он хо­чет удалить. Обработчик возвращает значение true, если объект успешно удален, в противном случае — false. Пользователь может определить свой обработчик сообщения delete. Но определенный пользователем обработчик должен вызывать системный обработчик. Пример использования сообщения delete приведен на рис. 11.18.

 

Рис. 11.18.Удаление экземпляра класса CAR

 

Отображение объекта

Для отображения содержимого слотов объекта предназначено сообщение print, которое также имеет предопределенный системный обработчик.



Дата добавления: 2021-12-14; просмотров: 269;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.