(defclass A (is-a USER) (slot x))
(defmessage-handler A foo ())
(defclass В (is-a A) (slot y))
(class-slots B) (class-slots В inherit)
(get-defmessage-handler-list A)
(get-defmessage-handler-list A inherit)
Функция slot-facets возвращает список значений граней заданного слота (слот может быть как наследуемым, так и явно определенным) — рис. 15.28. Составная величина с нулевой длиной возвращается, если произошла ошибка. В табл. 15.15 приведено описание возвращаемых полей.
Таблица 15.15. Поля, возвращаемые функцией slot-facets
| Поле | Значение | Описание |
| Тип поля | SGL/MLT | Простое или составное |
| Значение по умолчанию | STC/DYN/NIL | Статическое, динамическое или отсутствует |
| Распространение при наследовании | INH/NIL | Наследуется или нет |
| Доступ | RW/R/INT | Чтение-запись, только чтение, инициализация |
| Тип хранения | LCL/SHR | В экземпляре объекта или в классе |
| Активность при сопоставлении образцов | RCT/NIL | Активный или нет |
| Источник свойств унаследованного слота | СМР/ЕХС | Составной или обычный |
| Видимость слота | PUB/PRV | Открытый или закрытый |
| Автоматическое создание акцессоров | R/W/RW/NIL | Только чтение, только запись, Чтение- запись или отсутствуют |
| Перегруженный обработчик | <имя сообщения> | Имя сообщения, посылаемого для переопределения слота функцией make-instance и др. |

Рис. 15.27. Использование функций class-slots и get-defmessage-handler-list






