Пример 16.5. Работа с командой describe-class

(clear)

(defclass CHILD (is-a USER)

(role abstract)

(multislot parents (cardinality 2 2))

(slot age (type INTEGER)

(range 0 18))

(slot sex (access read-only)

(type SYMBOL)

(allowed-symbols male female)

(storage shared))

)

(defclass BOY (is-a CHILD)

(slot sex (source composite)

(default male))

)

(defmessage-handler BOY play ()

(printout t "The boy is now playing..." crlf))

(describe-class CHILD)

Результат выполнения приведенных выше команд представлен на рис. 16.4.

В табл. 16.11 содержится список полей и их возможные значения, исполь­зующиеся для описания свойств и граней слотов заданного класса.

Таблица 16.11. Поля, использующиеся для описания свойств и граней слотов заданного класса

Поле Значение Описание
FLD SGL/MLT Тип слота (простой или составной)
DEF STC/DYN/NIL Значение по умолчанию (статическое, динамическое или отсутствует)
PRP INH/NIL Распространение по наследованию (наследуется или нет)
ACC RW/R/INT Разрешенный доступ (чтение-запись, чтение, ини­циализация)
STO LCL/SHR Тип хранения (в экземпляре объекта или в классе)
MCH RCT/NIL Активность при сопоставлении образцов (актив­ный или нет)
SRC   Источник свойств унаследованного слота (состав­ной или обычный)
VIS PUB/PRV Видимость (открытый или закрытый)
CRT R/W/RW/NIL Автоматическое создание акцессоров (чтение, запись, чтение-запись или отсутствуют)
OVRD-MSG <имя сообщения> Имя сообщения, посылаемого для переопределе­ния слота функцией make-instance и др.
SOURCE(S) <класс>+ Класс-источник слота (если слот унаследован от нескольких классов — список классов)

Рис. 16.4. Результат выполнения команд из примера 16.5

Помимо описания граней слотов команда describe-dass отображает также список всех ограничений типов, используемых для каждого слота. Список сокращений, применяемых для описания ограничений, приведен в табл. 16.12. В случае если определенный тип отмечен знаком +, то слот может содер­жать любые значения соответствующего типа. Если тип отмечен знаком #, это означает, что слот может принимать только некоторые заданные значе­ния этого типа.


Таблица 16.12. Используемые сокращения

Аббревиатура Описание
SYM SYMBOL
STR Строка (string)
INN Имя объекта (Instance Name)
INA Адрес объекта (Instance Address)
ЕХА Внешний адрес (External Address)
FTA Адрес факта(Fact Address)
INT Целое (INTEGER)
FLT Вещественное (float)
RNG Диапазон
CRD Мощность

Команда browse-classes предназначена для отображения в диалоговом окне системы иерархии наследования классов, определенных в данный момент в системе.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: