Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование на Delphi. От новичка до профессионала! 1. Delphi и современные информационные технологии


Информационный Канал Subscribe.Ru


1. Delphi и современные информационные технологии
Delphi — одна из самых мощных систем, позволяющих на самом современном уровне
создавать как отдельные прикладные программы Windows, так и разветвленные комплексы,
предназначенные для работы в корпоративных сетях и в Интернет. Но прежде, чем
рассказывать о Delphi, надо сделать краткий обзор тех современных информационных
технологий, которые она поддерживает, чтобы была ясна терминология, используемая
на протяжении всей книги. Вводимые термины выделяются в тексте курсивом. Заодно,
обзор будет и подобием путеводителя по книге, так как по ходу изложения будут
даваться ссылки на главы и разделы, содержащие сведения об использовании тех
или иных технологий в Delphi.
Те, кто знаком с приводимой терминологией и с сущностью рассматриваемых информационных
технологий, могут пропустить первые разделы этой главы и сразу перейти к разделам,
посвященным конкретно Delphi.
Объектно-ориентированное программирование
Объектно-ориентированное программирование (сокращенно ООП) — это в наше время
совершенно естественный подход к построению сложных (и не очень сложных) программ
и систем. Когда вы открываете любую программу Windows, вы видите окно с множеством
кнопок, разделов меню, окон редактирования, списков и т.п. Все это объекты. Причем
сами по себе они ничего не делают. Они ждут каких-то событий — нажатия пользователем
клавиш или кнопок мыши, перемещения курсора и т.д. Когда происходит подобное
событие, объект получает сообщение об этом и как-то на него реагирует: выполняет
некоторые вычисления, разворачивает список, заносит символ в окно редактирования.
Вот такая программа Windows и есть объектно-ориентированная программа (для краткости
в дальнейшем на протяжении этой книги мы будем называть прикладные программы
приложениями).
Приложение, построенное по принципам объектной ориентации — это не последовательность
каких-то операторов, не некий жесткий алгоритм. Объектно-ориентрованная программа
— это совокупность объектов и способов их взаимодействия. Отдельным (и главным)
объектом при таком подходе во многих случаях можно считать пользователя программы.
Он же служит и основным, но не единственным, источником событий, управляющих
приложением.
Попробуем разобраться с основным понятием ООП — объектом. Для начала можно определить
объект как некую совокупность данных и способов работы с ними. Данные можно рассматривать
как поля записи. Это характеристики объекта. Пользователь и объекты программы
должны, конечно, иметь возможность читать эти данные объекта, как-то их обрабатывать
и записывать в объект новые значения.
Здесь важнейшее значение имеют приниипы инкапсиляиии и скрытия данных. Принцип
скрытия данных заключается в том, что внешним объектам и поль-
зователю прямой доступ к данным, как правило, запрещен. Делается это из двух
соображений.
Во-первых, для надежного функционирования объекта надо поддерживать целостность
и непротиворечивость его данных. Если не позаботиться об этом, то внешний объект
или пользователь могут занести в объект такие неверные данные, что он начнет
функционировать с ошибками.
Во-вторых, необходимо изолировать внешние объекты от особенностей внутренней
реализации данных. Для внешних потребителей данных должен быть доступен только
пользовательский интерфейс — описание того, какие имеются данные и функции и
как их использовать. А внутренняя реализация — это дело разработчика объекта.
При таком подходе разработчик может в любой момент модернизировать объект, изменить
структуру хранения и форму представления данных, но, если при этом не затронут
интерфейс, внешний потребитель этого даже не заметит. И, значит, во внешней программе
и в поведении пользователя ничего не придется менять.
Чтобы выдержать принцип скрытия данных, в объекте обычно определяются процедуры
и функции, обеспечивающие все необходимые операции с данными: их чтение, преобразование,
запись. Эти функции и процедуры называются методами и через них происходит общение
с данными объекта.
Совокупность данных и методов их чтения и записи называется свойством. Со свойствами
вы будете иметь дело на протяжении всей этой книги. Свойства можно устанавливать
в процессе проектирования, их можно изменять программно во время выполнения вашей
прикладной программы. Причем внешне это все выглядит так, как будто объект имеет
какие-то данные, например, целые числа, которые можно прочитать, использовать
в каких-то вычислениях, заложить в объект новые значения данных. В процессе проектирования
вашего приложения с помощью Delphi вы можете видеть значения некоторых из этих
данных в окне Инспектора Объектов, можете изменять эти значения. В действительности
все обстоит иначе. Все общение с данными происходит через методы их чтения и
записи. Это происходит и в процессе проектирования, когда среда Delphi запускает
в нужный момент эти методы, и в процессе выполнения приложения, поскольку компилятор
Delphi незримо для разработчика вставляет в нужных местах программы вызовы этих
методов.
Помимо методов, работающих с отдельными данными, в объекте имеются методы, работающие
со всей их совокупностью, меняющие их структуру. Таким образом, объект является
совокупностью свойств и методов. Но это пока нельзя считать законченным определением
объекта, поскольку прежде, чем дать полное определение, надо еще рассмотреть
взаимодействие объектов друг с другом.
Средой взаимодействия объектов (как бы силовым полем, в котором существуют объекты)
являются сообщения, генерируемые в результате различных событий. События наступают,
прежде всего, вследствие действий пользователя — перемещения курсора мыши, нажатия
кнопок мыши или клавиш клавиатуры. Но события могут наступать и в результате
работы самих объектов. В каждом объекте определено множество событий, на которые
он может реагировать. В конкретных экземплярах объекта могут быть определены
обработчики каких-то из этих событий, которые и определяют реакцию данного экземпляра
объекта. К написанию этих обработчиков, часто весьма простых, и сводится, как
будет видно далее, основное программирование при разработке графического интерфейса
пользователя с помощью Delphi.
Теперь можно окончательно определить объект как совокупность свойств и методов,
а также событий, на которые он может реагировать. Внешнее управление объектом
осуществляется через обработчики событий. Эти обработчики обращаются к методам
и свойствам объекта. Начальные значения данных объекта могут задаваться также
в процессе проектирования установкой различных свойств. В результате выполнения
методов объекта могут генерироваться новые события, воспринимаемые другими объектами
программы или пользователем.
Представление о программе как о некоторой фиксированной совокупности объектов
не является полным. Чаще всего сложная программа — это не просто какая-то предопределенная
совокупность объектов. В процессе работы объекты могут создаваться и уничтожаться.
Таким образом, структура программы является динамическим образованием, меняющимся
в процессе выполнения. Основная цель создания и уничтожения объектов — экономия
ресурсов компьютера и, прежде всего, памяти. Несмотря на бурное развитие вычислительной
техники, память, наверное, всегда будет лимитировать возможности сложных приложений.
Это связано с^ем, что сложность программных проектов растет теми же, если не
более быстрыми, темпами, что и техническое обеспечение. Поэтому от объектов,
которые не нужны на данной стадии выполнения программы, нужно освобождаться.
При этом освобождаются и выделенные им области памяти, которые могут использоваться
вновь создаваемыми объектами. Простой пример этого — окно-заставка с логотипом,
появляющееся при запуске многих приложений. После начала реального выполнения
приложения эта заставка исчезает с экрана и никогда больше не появится в данном
сеансе работы. Было бы варварством не уничтожить этот объект и не освободить
занимаемую им память для более продуктивного использования.
С целью организации динамического распределения памяти во все объекты заложены
методы их создания — конструкторы и уничтожения — деструкторы. Конструкторы тех
объектов, которые изначально должны присутствовать в приложении (прикладной программе),
срабатывают при запуске программы. Деструкторы всех объектов, имеющихся в данный
момент в приложении, срабатывают при завершении его работы. Но нередко и в процессе
выполнения различные новые объекты (например, новые окна документов) динамически
создаются и уничтожаются с помощью их конструкторов и деструкторов.
Включать объекты в свою программу можно двумя способами: вручную включать в нее
соответствующие операторы (это приходится делать не очень часто) или путем визуального
программирования, используя заготовки — компоненты.
Сайт рассылки http://mydelphi7.narod.ru 

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное