Студопедия — Предопределенные системные классы
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Предопределенные системные классы






COOL предоставляет 17 системных классов: OBJECT, USER, INITIAL-OBJECT, PRIMITIVE, NUMBER, INTEGER, FLOAT, INSTANCE, INSTANCE-NAME, INSTANCE-ADDRESS, ADDRESS, FACT-ADDRESS, EXTERNAL-ADDRESS, MULTIFIELD, LEXEME, SYMBOL И STRING.

Пользователь не может удалять или изменять эти классы. На рис. 11.1 представлена диаграмма наследования этих классов.

Все перечисленные системные классы, за исключением initial-object, являются абстрактными. Это означает, что они могут быть использованы только для наследования и не могут применяться для создания экземпляра объекта данного класса. Ни один из этих классов не имеет слотов и, за исключением класса user, ни один из них не имеет обработчиков сообщений. Однако пользователь может явно присоединить обработчики сообщений ко всем системным классам за исключением instance, instance-address и instance-name. Класс object является суперклассом для всех остальных классов, включая классы, определенные пользователем. Все классы, определенные пользователем, должны (хотя, в крайнем случае, это условие можно нарушить) наследоваться прямо или косвенно от класса user, поскольку этот класс имеет все стандартные системные обработчики сообщений, на­пример, обработчики сообщения для инициализации или удаления объекта к нему уже присоединены (эти системные обработчики сообщений описываются в разд.11. 3.3).

Рис. 11.1. Диаграмма наследования системных классов CLIPS

Системный класс primitive и все его подклассы предоставляют классы, чаще всего используемые в родовых функциях для ограничения типов. Но при необходимости к ним можно добавить новые обработчики сообщений или унаследовать от них новые классы. Однако три системных наследника класса: PRIMITIVE — INSTANCE, INSTANCE-ADDRESS и NSTANCE-NAME — предназначены только для использования в методах родовых функций (в частности они применяются при формировании неявно объявленных методов, перегружающих системные функции — см. разд. 10.5.1). Эти классы не могут иметь подклассов или обработчиков сообщений.

Класс initial-object используется в конструкторе definstances по умолчанию для создания объекта [initial-object] во время выполнения команды reset. Это конкретный системный класс (термин "конкретный класс" будет введен чуть позже) отвечает за сопоставления образцов в левой части правил, хотя он во всех отношениях идентичен системному классу user.

11.2. Конструктор defclass

Конструктор defclass создает новый пользовательский класс в среде CLIPS. Он определяет свойства (слоты) и поведение (обработчики сообщений) класса объектов. Конструктор defclass состоит из пяти элементов:

Ø имя;

Ø список суперклассов, от которых новый класс наследует слоты и обработчики сообщений;

Ø спецификатор, объявляющий, позволять или нет создание прямых объектов нового класса;

Ø спецификатор, объявляющий, могут или нет экземпляры этого класса использоваться при сопоставлении образцов объектов в левой части правил;

Ø список слотов, определенных в новом классе.

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

Любой слот, явно заданный в defclass, заменяет (перегружает) слоты, полученные с помощью наследования от базовых классов. Для всех новых клас­сов COOL к списку суперклассов применяет специальный алгоритм получения списка предшествования классов (см. разд. 11.2.1). Слоты класса описываются с помощью граней (facets). Примеры некоторых граней, включая грань значения по умолчанию, грань мощности (количества элементов) и грань типа доступа, представлены ниже.







Дата добавления: 2015-08-30; просмотров: 575. Нарушение авторских прав; Мы поможем в написании вашей работы!



Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Интуитивное мышление Мышление — это пси­хический процесс, обеспечивающий познание сущности предме­тов и явлений и самого субъекта...

Объект, субъект, предмет, цели и задачи управления персоналом Социальная система организации делится на две основные подсистемы: управляющую и управляемую...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия