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

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

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





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; просмотров: 615. Нарушение авторских прав; Мы поможем в написании вашей работы!




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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


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

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы: 1) первичные...

Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

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