Классика баз данных - статьи

       

Поддерживается операция порождения нового объекта


оператор '*' не объявлен явно публичным.

Поддерживается операция порождения нового объекта указанного

класса. В отличие от языка Си++ в CO2 невозможно совместить

создание нового объекта с его инициализаций (понятие

метода-конструктора начального значения объекта в CO2 не

поддерживается). Для инициализации необходимо либо явно

обратиться к соответствующему методу класса с указанием вновь

созданного объекта (поддерживается соответствующий механизм

"передачи сообщений", означающий на самом деле вызов функции),

либо воспользоваться оператором '*' и явно присвоить новое

значение, если '*' - публичный оператор для данного класса.

CO2 включает средства конструирования значений-кортежей,

множеств, и списков. Понятие значения-кортежа фактически

эквивалентно понятию значения-структуры обычного языка Си (с

тем отличием, что элементами кортежа могут являться объекты,

множества и списки). Для значений-множеств и списков

поддерживаются операции добавления и изъятия элементов, а

также набор теоретико-множественных операций (и конкатенации

для списков).

Основой манипулирования объектами, хранимыми в БД, является

расширенное по сравнению с языком Си средство итерации.

Итератор применим к значениям-множествам или спискам.

Фактически он означает последовательное применение

оператора-тела цикла ко всем элементам множества или списка.

Если мы вспомним, что долговременно хранимому классу объектов

неявно соответствует одноименное значение-множество с

элементами-объектами данного класса, то становится понятно,

что итератор языка CO2 обеспечивает явную навигацию в классах

объектов. Единственное, что остается от привычных

пользователям СУБД языков запросов, - это ограниченная

возможность указания характеристик требуемых в цикле объектов

(это делается путем использования оператора разыменования и

явного указания условий на атрибуты; конечно, для этого нужно,

чтобы оператор '*' был объявлен публичным в данном классе).

Разработчики O2 подчеркивают, что они умышленно сделали CO2


Содержание  Назад  Вперед