Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Программирования



Лекция Основные понятия объектно-ориентированного

Объектно-ориентированное программирование (сокращенно ООП) — это в один из самых распространенных подходов к построению сложных программ и систем.

В любой программе Windows можно увидеть окно с множеством кнопок, разделов меню, окон редактирования, спис­ков и т.п. Все это объекты. Причем сами по себе они ничего не делают. Они ждут каких-то событий — нажатия пользователем клавиш или кнопок мыши, переме­щения курсора и т.д. Когда происходит подобное событие, объект получает сообще­ние об этом и как-то на него реагирует: выполняет некоторые вычисления, разво­рачивает список, заносит символ в окно редактирования. Такая программа Windows и есть объектно-ориентированная программа или приложение.

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

Основным понятием ООП является объект. Его можно определить как некую совокупность данных и способов работы с ними. Данные можно рассматривать как поля записи. Это характеристики объекта. Пользователь и другие объекты программы должны иметь возможность читать эти данные объекта, как-то их обрабатывать.

Важнейшее значение имеют принципы инкапсуляции, скрытия данных, полиморфизма и наследования.

Инкапсуляция – объединение в объекте данных и кода. Внутри объекта данные могут быть открытыми – public и закрытыми – private. Закрытые данные и код доступны только частям этого объекта и недоступны для тех частей программы, которые существуют вне объекта. Открытые данные и код доступны для других частей программы.

Принцип скрытия данных заключается в том, что внешним объектам и пользователю прямой доступ к данным, как правило, запрещен. Это делается из двух соображений.

Во-первых, для надежного функционирования объекта надо поддерживать це­лостность и непротиворечивость его данных. Иначе внешний объект или пользователь могут занести в объект такие неверные данные, что он начнет функционировать с ошибками.

Во-вторых, необходимо изолировать внешние объекты от особенностей внут­ренней реализации данных. Для внешних потребителей данных должен быть до­ступен только пользовательский интерфейс — описание того, какие имеются дан­ные и функции и как их использовать, а внутренняя реализация — это дело разра­ботчика объекта. При таком подходе разработчик может в любой момент модерни­зировать объект, изменить структуру хранения и форму представления данных, но, если при этом не затронут интерфейс, внешний потребитель этого даже не за­метит. И, значит, во внешней программе и в поведении пользователя ничего не придется менять.

Чтобы выдержать принцип скрытия данных, в объекте обычно определяются процедуры и функции, обеспечивающие все необходимые операции с данными: их чтение, преобразование, запись. Эти функции и процедуры называются методами и через них происходит общение с данными объекта.

Совокупность данных и методов их чтения и записи называется свойством. Свойства можно устанавливать в процессе проектирования, их можно изменять программно во вре­мя выполнения программы. Все общение с данными происходит через методы их чтения и записи. Это происхо­дит и в процессе проектирования, когда среда проектирования Delphi запускает в нужный момент эти методы, и в процессе выполнения приложения, поскольку компилятор Delphi незримо для разработчика вставляет в нужных местах про­граммы вызовы этих методов.

Помимо методов, работающих с отдельными данными, в объекте имеются ме­тоды, работающие со всей их совокупностью, меняющие их структуру. Таким об­разом, объект является совокупностью свойств и методов.

Средой взаимодействия объектов (как бы силовым полем, в котором существу­ют объекты) являются сообщения, генерируемые в результате различных собы­тий. События наступают, прежде всего, вследствие действий пользователя — пе­ремещения курсора мыши, нажатия кнопок мыши или клавиш клавиатуры. Но события могут наступать и в результате работы самих объектов. В каждом объекте определено множество событий, на которые он может реагировать. В конкретных экземплярах объекта могут быть определены обработчики каких-то из этих собы­тий, которые и определяют реакцию данного экземпляра объекта, к написанию этих обработчиков, часто весьма простых, и сводится, как будет видно далее, основное программирование с помощью Delphi.

Итак – объект это совокупность свойств и методов, а также событий, на которые он может реагировать.

Условно это изображено на рис. 1.1. Внешнее управление объектом осуществляется через обра­ботчики событий. Эти обработчики обращаются к методам и свойствам объекта. Начальные значения данных объекта могут задаваться также в процессе проектирования установкой различных свойств. В результате выполнения методов объек­та могут генерироваться новые события, воспринимаемые другими объектами про­граммы или пользователем.

Но программа это не только фиксированная совокупность объектов. В процессе работы объекты мо­гут создаваться и уничтожаться. То есть, структура программы является динамическим образованием, меняющимся в процессе выполнения. Основная цель создания и уничтожения объектов — экономия ресурсов компьютера и, прежде всего, памяти. Несмотря на бурное развитие вычислительной техники, память, на­верное, всегда будет лимитировать возможности сложных приложений. Это связа­но с тем, что сложность программных проектов растет теми же, если не более быст­рыми, темпами, что и техническое обеспечение. Поэтому от объектов, которые не нужны на данной стадии выполнения программы, нужно освобождаться. При этом освобождаются и выделенные им области "памяти, которые могут использоваться вновь создаваемыми объектами, Простой пример этого — окно-заставка с логоти­пом, появляющееся при запуске многих приложений. После начала реального вы­полнения приложения эта заставка исчезает с экрана и никогда больше не появит­ся в данном сеансе работы. Было бы варварством не уничтожить этот объект и не освободить занимаемую им память для более продуктивного использования.

Следовательно, во все объекты за­ложены методы их создания — конструкторы и уничтожения — деструкторы.

Конструкторы объектов срабатывают при запуске программы. Деструкторы всех объектов срабатывают при за­вершении его работы. Но нередко и в процессе выполнения новые объ­екты создаются и уничтожаются с помощью их конструкторов и деструкторов.

Включать объекты в свою программу можно двумя способами: вручную вклю­чать в нее соответствующие операторы (это приходится делать не очень часто) или путем визуального, программирования, используя заготовки — компоненты.





Дата публикования: 2015-06-12; Прочитано: 497 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...