- •5 Работа в системе visual foxpro
- •5.1 Базовые концепции Visual FoxPro
- •5.1.1 Общая характеристика субд
- •5.1.2 Элементы проекта
- •5.1.3 ИнтерфейсVisualFoxProи создание проекта
- •5.1.4 Принципы создания проекта и его основных компонентов
- •5.1.5 Создание базы данных, таблиц и индексов
- •5.1.5.1 Создание базы данных
- •5.1.5.2 Создание таблиц
- •5.1.5.3 Типы данных вVisualFoxPro
- •5.1.5.4Создание индексов вVisualFoxPro
- •5.1.6 Организация межтабличных связей
- •5.1.7 Обеспечение целостности данных
- •5.2 Извлечение и представление информации средствами интерфейсаVisualFoxPro
- •5.2.1 Средства формирования запросов
- •5.2.2 Организация многотабличных запросов и вычисляемого поля
- •5.2.3 Представление результатов запросов
- •Основы программирования вVisualFoxPro
- •5.3.1 Общие положения и соглашения о синтаксисе команд
- •5.3.2 Разновидности, объявление, инициализация и отображение переменных и массивов
- •5.3.3 Взаимодействие программ вVisualFoxPro
- •5.3.4 Команды структурного программирования
- •5.3.5 Команды обработки особых ситуаций
- •5.3.6 Команды установки программной среды
- •5.3.7 Некоторые важные функции языкаVisualFoxPro
- •5.3.8 Визуальное объектно-ориентированное программирование в Visual FoxPro
- •5.3.8.1 Базовые понятия
- •5.3.8.2 Создание объектов на основе базовых классов и задание свойств объектов
- •5.3.8.3 Определение событий и методов для объектов класса
- •5.3.8.4 Вложенность объектов
- •5.3.9 Команды для работы с меню
- •5.3.10 Пример совместного использование программных файлов, формы и меню
5.3.8 Визуальное объектно-ориентированное программирование в Visual FoxPro
5.3.8.1 Базовые понятия
Сущность объектно-ориентированного программирования (ООП) состоит в том, что программа проектируется как совокупность взаимосвязанных и взаимодействующих между собой и с внешней средой объектов. Объекты моделируют некие сущности реального мира и в комплексе позволяют отобразить самые сложные и заранее непредсказуемые варианты поведения и состояний программируемой системы.
В ООП важную роль играет понятие события. Событие представляет собой некоторое действие, которое активизирует стандартную реакцию (инструкцию, метод) объекта. Примерами событий могут служить: открытие таблицы, нажатие кнопки мыши, выбор пункта меню и др.
Язык Visual FoxPro – это объектно-ориентированный язык визуального программирования, управляемый по событиям. При работе программных систем на Visual FoxPro реализуется следующая типовая цепочка действий:
В системе возникает событие: нажатие клавиши, изменение значения поля и др.
Определяется связанный с этим событием объект: поле таблицы, кнопка, форма и т.д.
Вызывается и реализуется соответствующий событию метод объекта, который содержит действия по обработке возникшего события.
В ООП широко используется понятие класса. Классы и объекты близки по сути, но не тождественны. Понятие класса шире. Класс содержит информацию о том, как должен выглядеть объект и определяет выполняемые им действия (методы). Объект является экземпляром класса, который наследует характеристики класса. При создании объектов приложения можно использовать базовые классы VF (табл. 5.11), а также создавать новые специальные классы.
Большинство используемых классов являются видимыми, но некоторые классы используются для объединения объектов и не отображаются (например, в форме на экране). Кроме того, классы объектов могут быть вложенными друг в друга. Класс, который может содержать внутри себя другие объекты, называется контейнером (container class). Пример контейнера – таблица, которая содержит столбцы и надписи к ним; при этом столбец сам является контейнером.
Каждый базовый класс обладает собственным набором свойств, методов и связанных с ним событий. Минимальный набор свойств, которыми обладают все классы, приведен в таблице 5.12, а минимальный набор событий – в таблице 5.13.
Таблица 5.11
Примеры базовых классов
|
Наименование |
Назначение |
Контейнер |
Видимость |
|
CheckBox |
Флажок |
− |
+ |
|
Column |
Столбец |
+ |
+ |
|
ComboBox |
Раскрывающийся список |
− |
+ |
|
Custom |
Базовый невидимый класс |
− |
− |
|
EditBox |
Поле редактирования |
− |
+ |
|
Form |
Форма |
+ |
+ |
|
FormSet |
Группа форм |
+ |
− |
|
Grid |
Таблица |
+ |
+ |
|
Header |
Заголовок столбцов таблицы |
− |
+ |
|
ListBox |
Список |
− |
+ |
|
Label |
Надпись |
− |
+ |
|
TextBox |
Поле ввода |
− |
+ |
Таблица 5.12
Минимальный набор свойств
|
Наименование свойства |
Описание |
|
Class |
Тип класса |
|
BaseClass |
Базовый класс, на основе которого создан данный класс |
|
ClassLibrary |
Библиотека классов, в которой хранится данный класс |
|
ParentClass |
Определенный пользователем класс, на основе которого создан данный класс |
Таблица 5.13
Минимальный набор событий
|
Наименование события |
Описание |
|
Init |
Наступает при создании объекта |
|
Decoy |
Наступает при освобождении объекта из памяти |
|
Error |
Наступает при возникновении ошибки, связанной с объектом |
