Помощничек
Главная | Обратная связь


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

Основні елементи мови Cache Object Script



COS підтримує два класи змінних: локальні та глобальні змінні. Оба види змінних можуть існувати у вигляді скалярних та багатовимірних структур. Локальні змінні існують лише в пам’яті під час роботи процесу, в якому вони були об’явлені, і доступні тільки в межах даного процесу. Глобальні доступні усім активним процесам і породжуються двома способами: прямим створенням у прикладній програмі та автоматично для елементів, що зберігаються в БД. Такі змінні називаються глобалами. Імена глобалів починаються з символа «^».Також є ряд системних змінних, іменя яких починаються з символа «$».

COS підтримує наступні групи операторів:

- Унарні арифметичні та логічні оператори;

- Бінарні арифметичні оператори;

- Логічні оператори;

- Оператори роботи зі строками.

Унарний додатній оператор не впливає на значення виразу, тобто не змінює знак. Наприклад:

- Set x = -23

- Write " x: ", x,! // -23

- Write "+x: ",+x,! // -23

До бінарних арифметичних операторів відносять:

- «+» - додавання;

- «-« - віднімання;

- «*» - множення;

- «/» - ділення;

- «\» - цілочисельне ділення;

- «#» - залишок від ділення;

- «**» - степінь числа.

- До логічних операторів відносять:

- «=» - перевірка на рівність;

- «’=» - перевірка на нерівність;

3. Технологія розробки програм мовою COS

У ній виділяють класи типів даних і класи самих даних (класи об'єктів, таблиці).

Якщо провести аналогію з термінами реляційної БД, то поняттю "клас (об'єкт)" ООБД відповідає приблизно поняття "таблиця", а поняттю "властивість" - "поле (стовпець) таблиці".

Як властивості прийняті константи, посилання на об'єкти, вбудовані об'єкти, потоки даних (BLOB і CLOB), колекції у вигляді масивів (Array) і списків (List), багатовимірні властивості. До властивостей відносять і зв'язки між об'єктами.

Для властивостей є типи, основними з яких є Currency (грошовий), Date, Float, Integer, List (список), Name (ім'я), Numeric, Status (помилки), String.

В якості типів властивостей можуть виступати зв'язки, які можна розділити на прості, реалізовані посиланнями, і відносини, іноді звані асоціаціями. При посиланні в якості типу властивостей виступає клас (об'єкт), з яким зв'язується дане властивість. Можливо вбудовування одного об'єкта в інший. У асоціаціях виділяють відносини ONE-TO-MANY (1: М) і PARENT- CHILDREN (батько - діти).

4. Визначення класу в ООБД Cache
Поняття "клас" у СУБД CACHE досить багатогранно (рис.). Насамперед виділяють класи типів даних і класи самих даних (класи об'єктів, таблиці).

Термін "клас" у СУБД CACHE має два розуміння: об'єкт; безліч (підмножина).

Класи типів даних (у тому числі створених користувачами) приписуються атрибутам (полях, властивостям) об'єктів (таблиць), які отримують дані того чи іншого типу в якості значень. Ці класи не можуть містити властивостей і утворювати екземпляри, не мають власної ідентифікації (для посилань), однак володіють методами. Кожен тип даних являє собою клас. Класи типів даних можуть створюватися і користувачами.

Є три формату типів даних: зберігання в БД (storage), логічний (logical) в пам'яті комп'ютера, відображення (display) на екрані монітора. Формати можуть бути перетворені одна в одну.

Клас об'єктів визначає структуру даних і поведінку об'єктів одного типу. Клас об'єктів характеризується ім'ям класу, властивостями, методами.У класах об'єктів за характером процесів виділяють незареєстровані та зареєстровані класи.

Незареєстровані класи не підтримують поліморфізм і не володіють автоматичним управлінням. Призначення ідентифікаторів (OID) і об'єктних посилань (OREF) здійснює користувач.

Зареєстровані класи підтримують поліморфізм і управляються автоматично від системного класу% Library. RegisteredObject (аналог класу TObject в Delphi). Примірники цього класу існують в пам'яті процесу тимчасово (тимчасові об'єкти).

З погляду зберігання даних зареєстровані та незареєстровані класи діляться на збережені і вбудовувані.

Збережені класи об'єктів успадковуються від системного класу% Library. Persistent і здатні тривало зберігатися в пам'яті об'єкта. Примірники таких класів володіють однозначними об'єктними ідентифікаторами OID. Зберігається об'єкт може використовуватися і як властивість класу (стовпець таблиці) іншого об'єкта. Іншими словами, можлива посилання на цей об'єкт, що відповідає зв'язку I: М двох таблиць реляційної БД.

Вбудовувані класи об'єктів успадковують свою поведінку від системного класу% Library.SerialObject і можуть бути збережені тільки у складі відповідних збережених об'єктів. Вбудований об'єкт в пам'яті характеризується об'єктної посиланням, в базі даних зберігається в послідовній формі (різновид колекції-масиву) як частина збереженого об'єкта, при цьому ідентифікатор OID відсутня.

5. Види властивостей класів ООБД Cache
В якості властивостей виступають константи (незалежно від класу типу), вбудовані об'єкти, посилання на об'єкти, потоки даних BLOB, колекції, багатовимірні змінні, двонаправлені зв'язку між збереженими об'єктами.

Потоки даних BLOB мають два різновиди для символьних (CHARACTERSTREAM) і довічних (BINARYSTREAM) даних (аналогічно CLOB і BLOB для гібридних ОРБД).

Колекції можуть бути списком (List Collection) і масивом (Array Collection). До їх складу можуть входити константи, вбудовані об'єкти та посилання, які задаються відповідно% Library. ListOfDataTypes,% Library.ListOfObjects,% Library.ArrayOfDataTypes,% Library.ArrayOf Objects.

У колекції-масиві впорядкування ведеться по полю, прийнятому в якості ключа.

У колекції-списку в якості ключа виступає позиція елемента в списку.

Методи, як уже зазначалося, пов'язані з типом даних. За замовчуванням приймається тип даних String.

Аргументи методу за замовчуванням передаються за значенням, а для передачі за посиланням аргументу повинен передувати символ &. Методи, як і властивості, можуть бути визначені як public або private.

Виділяють методи класу і методи екземплярів класу (посилання - ## this). Останні використовуються частіше.

6. Типи даних Cache

Типи даних

Сасhе поддерживает неограниченное количество типов данных для свойств классов, причем каждый тип данных представляет собой класс. Сасhе підтримує необмежену кількість типів даних для властивостей класів, причому кожен тип даних являє собою клас. Вы можете реализовать ваши собственные типы данных (Advanced Data Types ADTs), определяя соответствующие классы типов данных. Ви можете реалізувати ваші власні типи даних (Advanced Data Types ADTs), визначаючи відповідні класи типів даних. Кроме того классы типов данных управляют поведением свойств объектов, когда они посредством SQL представляются в виде столбцов реляционных таблиц. Крім того класи типів даних керують поведінкою властивостей об'єктів, коли вони за допомогою SQL представляються у вигляді стовпців реляційних таблиць.

Классы типов данных обладают следующими функциональными возможностями: Класи типів даних володіють наступними функціональними можливостями:

· Определяют требуемые преобразования между форматом хранения (в базеданных), логическим (в памяти) и форматом отображения значений. Визначають необхідні перетворення між форматом зберігання (в базеданних), логічним (в пам'яті) і форматом відображення значень.

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

· Обеспечивают взаимодействие с SQL, ODBC, ActiveX и Java, предоставляя в их распоряжение необходимые В каждом случае логические операции и методы преобразования данных. Забезпечують взаємодію з SQL, ODBC, ActiveX і Java, надаючи в їх розпорядження необхідні У кожному випадку логічні операції та методи перетворення даних.

Являясь особой формой классов, типы данных имеют принципиальные отличия т классов объектов: Будучи особливою формою класів, типи даних мають принципові відмінності т класів об'єктів:

· От классов типов данных невозможно образование экземпляров. Від класів типів даних неможливе утворення примірників.

· Классы типов данных не могут содержать свойств. Класи типів даних не можуть містити властивостей.

· Методы классов типов данных предоставляются программисту через интерфейс типов данных. Методи класів типів даних надаються програмісту через інтерфейс типів даних.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.