Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
132
Добавлен:
15.06.2014
Размер:
10 Mб
Скачать

5.3.8 Визуальное объектно-ориентированное программирование в Visual FoxPro

5.3.8.1 Базовые понятия

Сущность объектно-ориентированного программирования (ООП) состоит в том, что программа проектируется как совокупность взаимосвязанных и взаимодействующих между собой и с внешней средой объектов. Объекты моделируют некие сущности реального мира и в комплексе позволяют отобразить самые сложные и заранее непредсказуемые варианты поведения и состояний программируемой системы.

В ООП важную роль играет понятие события. Событие представляет собой некоторое действие, которое активизирует стандартную реакцию (инструкцию, метод) объекта. Примерами событий могут служить: открытие таблицы, нажатие кнопки мыши, выбор пункта меню и др.

Язык Visual FoxPro – это объектно-ориентированный язык визуального программирования, управляемый по событиям. При работе программных систем на Visual FoxPro реализуется следующая типовая цепочка действий:

  1. В системе возникает событие: нажатие клавиши, изменение значения поля и др.

  2. Определяется связанный с этим событием объект: поле таблицы, кнопка, форма и т.д.

  3. Вызывается и реализуется соответствующий событию метод объекта, который содержит действия по обработке возникшего события.

В ООП широко используется понятие класса. Классы и объекты близки по сути, но не тождественны. Понятие класса шире. Класс содержит информацию о том, как должен выглядеть объект и определяет выполняемые им действия (методы). Объект является экземпляром класса, который наследует характеристики класса. При создании объектов приложения можно использовать базовые классы 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

Наступает при возникновении ошибки, связанной с объектом