Наборы объектов

COOL предоставляет полезную возможность составления наборов объектов (instance-set) и выполнения некоторых действий над таким набором. Система запросов для составления наборов объектов в COOL состоит из шести функций, каждая из которых оперирует набором объектов, определенным с помощью заданного пользователем критерия.

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

Пример 11.46. Необходимые классы и объекты

(defclass PERSON (is-a USER)

(role abstract)

(slot sex (access read-only)

(storage shared))

(slot age (type NUMBER)

(visibility public)))

(defmessage-handler PERSON put-age (?value)

(dynamic-put age?value))

(defclass FEMALE (is-a PERSON)

(role abstract)

(slot sex (source composite)

(default female)))

(defclass MALE (is-a PERSON)

(role abstract)

(slot sex (source composite)

(default male)))

(defclass GIRL (is-a FEMALE)

(role concrete)

(slot age (source composite)

(default 4)

(range 0.0 17.9)))))

(defclass WOMAN (is-a FEMALE)

(role concrete)

(slot age (source composite)

(default 25)

(range 18.0 100.0)))

(defclass BOY (is-a MALE)

(role concrete)

(slot age (source composite)

(default 4)

(range 0.0 17.9)))

(defclass MAN (is-a MALE)

(role concrete)

(slot age (source composite)

(default 25)

(range 18.0 100.0)))

(definstances PEOPLE

(Man-1 of MAN (age 18))

(Man-2 of MAN (age 60))

(Woman-1 of WOMAN (age 18))

(Woman-2 of WOMAN (age 60))

(Woman-3 of WOMAN)

(Boy-1 of BOY (age 8))

(Boy-2 of BOY)

(Boy-3 of BOY)

(Boy-4 of BOY)

(Girl-1 of GIRL (age 8))

(Girl-2 of GIRL))

Определение набора объектов

Набор объектов (instance-set) — это упорядоченная коллекция объектов, оп­ределенных пользователем классов. Каждый член набора объектов (instance-set member) — объект некоторого набора классов, называемых ограничениями классов (class restrictions). Различные ограничения классов могут задаваться для каждого члена набора объектов. Ограничения вместе с переменными (instance-set member variables), с которыми будут связываться соответствую­щие члены набора, называются шаблоном набора (instance-set templates). Функции запросов используют шаблон для генерации самого набора объек­тов. В ограничении классов может быть задан модуль (см. гл. 12), где опре­делен класс. Если модуль не задан, будут использоваться определения клас­сов, созданных в текущем модуле.


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



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