Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по циклу лабораторных работ Технологии разработки программного обеспечения .doc
Скачиваний:
204
Добавлен:
06.03.2016
Размер:
3.8 Mб
Скачать
      1. Добавление функции

Для добавления функции в класс щелкните правой кнопкой мыши по классу. Появится контекстное меню, в котором нужно выбрать пункт «Add» и подпункт «Function» или нажать сочетание клавиш Ctrl + M. Свойства функции, которые можно настроить в области инспектора представлены в таблице 6.16.

Таблица 6.25

Свойства функции

Название

Описание

Override

Свойство определяет, является ли это функция переопределенной

Params

Свойство определяет список формальных параметров функции

Returns

Свойство определяет тип возвращаемого значения функции

Virtual

Свойство определяет, является ли функция виртуальной

Visibility

Свойство определяет директиву видимости функции

      1. Создание отношений между классами

        1. Ассоциация

Между двумя классами устанавливается отношение ассоциация, если между этими классами есть связь. У ассоциации указываются роли и мощности. Для установки ассоциации между двумя классами поместите на диаграмму эти классы из дерева проекта, выберите на панели инструментов пункт Association, щелкните мышкой по одному и затем по второму классу.

В свойствах ассоциации по умолчанию отсутствует направленность, что подразумевает двунаправленную связь между классами. Для установки однонаправленной ассоциации нужно установить свойство Directedв положениеtrue. Мощность и роль устанавливаются в двунаправленной ассоциации на обоих полюсах, в однонаправленной ассоциации на одном полюсе по направлению стрелки. Для установки мощности выберите из списка значение для свойстваClientCardinalityи/или для свойстваSupplierCardinality. Для установления ролей заполните свойстваClientRoleи/илиSupplierRoleсоответственно.

        1. Агрегация

Между двумя классами устанавливается отношение агрегации, если один объект одно класса включает в себя объекты другого класса как «Целое-часть». Для установки типа ассоциации агрегация укажите в свойстве ассоциации Typeзначениеaggregation.

        1. Наследование

Между классами устанавливается отношение наследования, если один класс является базовым (родитель), а второй дочерним (потомком). При этом дочерний класс наследует свойства и методы родительского класса и реализует свои собственные. Для установки отношения наследования между классами выберите на панели инструментов компонент Generalizationи установите эту связь между классами.

      1. Пример создания классов

        1. Создание классов и отношений между ними слоя объектно-реляционного отображения

В качестве примера создания отношений между классами возьмем классы слоя Объектно-реляционного отображения (см. Рисунок 6 .28).

Для создания этих классов необходимо выполнить следующие действия:

  1. Создать новый модуль. Для этого в главном меню выберите FileNewUnit–DelphiforWin32.

  1. Сохраните его выбрав в главном меню FileSaveили нажмите сочетание клавишCtrl+S, указав при этом имя модуляClassConnection.

  2. Выберите в верхнем правом окне вкладку ModelView. Найдите там только что созданный модуль и два раза щелкните по нему левой кнопкой мышки. ОкноBorlandStudioбудет иметь вид (см. Рисунок 6 .32).

  3. Перетащите в рабочую область пункт «Class» из панели инструментов.

  4. Переименуйте только что созданный класс. Для этого щелкните один раз по заголовку класса и введите новое название, либо выберите класс на рабочей области и настройте свойства Nameв области инспектора. Назовем только что созданный классTConnection.

  5. Для добавления свойства нужно щелкнуть по классу правой кнопкой мыши, при этом появится контекстное меню, в нем выберите пункт «Add» и потом выберите пункт «Property». Появится новое поле, для его переименования нужно выбрать появившееся свойство и щелкнуть по нему один раз, появится поле ввода, в котором можно указать название свойства и тип свойства. По умолчанию поля создаются с доступом к записи и чтению через процедуры, если это не нужно можно вручную отредактировать свойства в редакторе кода. Создадим свойства согласно списку (см. Таблица 6 .14).

  6. Добавьте процедуры в соответствии с перечнем (см. Таблица 6 .15). Для добавления процедуры щелкните правой кнопкой мыши по классу и в появившемся контекстном меню выберите пункт «Add» и подпункт «Procedure».

  7. Добавление функций. Для добавления функции в классе щелкните правой кнопкой мыши по нему. Появится контекстное меню, в котором нужно выбрать пункт «Add» и подпункт «Function» или нажать сочетание клавиш Ctrl + M.

Остальные классы создаются аналогично следуя пунктам 1-8. Далее установим наследование между классами TExecuteObjectиTDBObject.

  1. Для установления отношения наследования у класса TExecuteObjectнужно найти классTDBObjectво вкладкеModelViewи перенести на диаграмму классаTExecuteObject. На диаграмме появиться ссылка на класс.

  1. Выберите на панели инструментов пункт Generalization.

  2. Щелкните мышкой по классу TExecuteObect.

  3. Щелкните мышкой по классу TDBObject.

Далее установим ассоциацию между классами TDBObjectиTTransactionObject:

  1. Для настройки ассоциации между классами TDBObjectиTTransactionObjectнужно перенести классTDBObjectна диаграмму классаTTransactionObject.

  1. Выберите на панели инструментов пункт Association.

  2. Щелкните по классу TDBObject.

  3. Щелкните по классу TTransactionObject.

  4. В области инспектора установите у свойства Type значение «aggregation».