Корпоративные базы данных - статьи

       

Объектная модель NewEra



Язык NewEra поддерживает основные возможности объектно-ориентированного
программирования, в частности, наследование и полиморфизм. В языке явно выделены и имеют
специальное синтаксическое оформление понятия "событие в объекте", "обработчик
события".

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

Класс объектов NewEra характеризуется

  • именем
  • набором констант
  • набором переменных


  • набором функций
  • набором событий

ЗАМЕЧАНИЕ. Во всех последующих примерах программ знаки -- обозначают комментарий до
конца строки.

Пример декларации класса:

CLASS music -- ИМЯ КЛАССА
-- КОНСТАНТЫ:
CONSTANT unknown SMALLINT=0
CONSTANT folk SMALLINT=1
CONSTANT classic SMALLINT=2
CONSTANT pop SMALLINT=4
CONSTANT hard_rock SMALLINT=8
-- ПЕРЕМЕННЫЕ:
PUBLIC VARIABLE music_type SMALLINT
PRIVATE VARIABLE music_title CHAR (32) -- название
PRIVATE VARIABLE music_code BYTE -- внутреннее представление мелодии
-- ФУНКЦИИ:
-- инициализация нового объекта класса music:
FUNCTION music (music_type SMALLINT: unknown,
music_title CHAR(32): NULL)
-- установка названия:
FUNCTION set_title (title CHAR(32))
-- опрос названия:
FUNCTION get_title () RETURNING CHAR(32)
-- установка кода (внутреннего представления) мелодии:
FUNCTION set_code (file_name CHAR(*))
-- СОБЫТИЯ:
-- воспроизведение мелодии
EVENT play ()
END CLASS
Объекты класса создаются при помощи операторов NEW и COPY, примеры:

VARIABLE my_melody MUSIC = NEW music(music::folk, "Калинка")
VARIABLE your_melody MUSIC = COPY my_melody
Допускается определение нескольких различных функций-обработчиков для одного и того же
события данного класса. Обработчики могут присваиваться индивидуальным объектам
динамически.




Содержание раздела