Объектно-ориентированные функции
CLIPS предоставляет богатый набор функций, предназначенных для работы с классами, объектами, слотами, обработчиками сообщений. Описание этих функций приведено в табл. 15.14.
Таблица 15.14. Объектно-ориентированные функции
Функция | Описание |
get-class-list | Получение списка существующих классов |
defclass-module | Поиск модуля, в котором определен класс |
class-existp | Определяет, существует ли заданный класс |
superclassp | Определяет, является ли первый класс суперклассом второго |
subclassp | Определяет, является ли первый класс подклассом второго |
slot-existp | Проверяет существование слота |
slot-writablep | Проверяет, доступен ли слот записи |
slot-initablep | Проверяет, доступен ли слот инициализации |
slot-publicp | Проверяет, является ли слот видимым |
slot-direct-accessp | Проверяет, возможно ли прямое обращение к слоту |
message-handler-existp | Проверяет существование обработчика сообщения |
class-abstractp | Проверяет, является ли класс абстрактным |
class-reactivep | Проверяет, является ли класс активным |
class-superclasses | Получение списка суперклассов |
сlass-subclasses | Получение списка подклассов |
class-slots | Получение списка слотов класса |
get-defmessage-handler-list | Получение списка обработчиков сообщений класса |
slot-facets | Получение списка значений граней слота |
slot-sources | Получение списка источников определения слота |
slot-types | Получение типа слота |
slot-cardinality | Получение мощности составного слота |
slot-allowed-values | Получение списка допустимых значений слота |
slot-range | Получение допустимого диапазона значений слота |
slot-default-value | Получение значения по умолчанию для слота |
next-handlerp | Проверка существования скрытых обработчиков |
call-next-handler | Вызов скрытого обработчика |
override-next-handier | Вызов скрытого обработчика с измененными аргументами |
get-definstance-list | Получение списка классов, созданных с помощью конструктора definstance |
definstances-module | Получения модуля, в котором определен конструктор definstance |
init-slots | Инициализация слотов |
unmake-instance | Удаление объекта |
delete-instance | Удаление объекта из обработчика сообщения |
class | Определение класса заданного объекта |
instance-name | Определение имени объекта |
instance-address | Определение адреса объекта |
symbol-to-instance-name | Преобразование значение типа symbol в instance-name |
instance-name-to-symbol | Преобразование значение типа instance-name в symbol |
instancep | Проверка существования объекта с заданным адресом или именем |
instance-addressp | Проверка существования объекта с заданным адресом |
instance-namep | Проверка существования объекта с заданным именем |
instance-existp | Проверка существования объекта |
dynamic-put | Чтение значения слота |
dynamic-get | Запись значения слота |
slot-replase$ | Замена полей составных слотов |
slot-insert$ | Добавления полей составных слотов |
slot-delete$ | Удаление полей составных слотов |
Функция get-defclass-list возвращает составную величину, содержащую имена всех определенных в системе классов, видимых в заданном модуле. Если параметр <имя-модуля> не задан, функция выведет список классов, определенных в текущем модуле. Вместо имени модуля допустимо использовать символ *. В этом случае возвращается список всех классов
Дата добавления: 2021-12-14; просмотров: 250;