Методы объектно-ориентированного программирования Объектно-ориентированное программирование (ООП) является в настоящее время наиболее популярной технологией программирования. Объектно-ориентированное программирование является развитием технологии структурного программирования, однако имеет свои характерные черты.
Наиболее распространенными системами объектно-ориентированного визуального программирования являются Microsoft Visual Basic и Borland Delphi.
Объектно-ориентированное программирование по своей сути – это создание приложений из объектов, подобно тому, как из блоков и различных деталей строятся дома. Одни объекты приходится полностью создавать самостоятельно, тогда как другие можно позаимствовать в готовом виде из разнообразных библиотек.
Важное место в технологии объектно-ориентированного программирования занимает событие. В качестве событий могут рассматриваться щелчок кнопкой мыши на объекте, нажатие определенной клавиши, открытие документа и т.д. В качестве реакции на события вызывается определенная процедура, которая может изменять свойства объекта, вызывать его методы и т.д.
В системах объектно-ориентированного программирования обычно используется графический интерфейс, который позволяет визуализировать процесс программирования. Появляется возможность создавать объекты, задавать им свойства и поведение с помощью мыши.
Объект, с одной стороны, обладает определенными свойствами, которые характеризуют его состояние в данный момент времени, а, с другой стороны, над возможны операции, которые приводят к изменению свойств.
Основной единицей в объектно-ориентированном программировании является объект, который заключает в себе, – инкапсулирует как описывающие его данные (свойства), так средства обработки этих данных (методы).
| | Инкапсуляцией называется объединение в объекте его свойств и возможных над ним операций (методов).
| |
Другой принцип, положенный в основу ООП, состоит в возможности создания нового класса объектов с наследованием свойств и методов некоторого уже существующего класса.
| | Наследованием называется возможность порождать один класс от другого с сохранением всех свойств и методов класса-предка (прародителя, иногда его называют суперклассом) и добавляя, при необходимости, новые свойства и методы.
| |
Набор классов, связанных отношением наследования, называют иерархией. Наследование призвано отобразить такое свойство реального мира, как иерархичность.
Еще один принцип ООП – принцип полиморфизма.
| | Полиморфизмом называют явление, при котором функции (методу) с одним и тем же именем соответствует разный программный код (полиморфный код) в зависимости от того, объект какого класса используется при вызове данного метода.
| |
Полиморфизм обеспечивается тем, что в классе-потомке изменяют реализацию метода класса-предка с обязательным сохранением сигнатуры метода. Это обеспечивает сохранение неизменным интерфейса класса-предка и позволяет осуществить связывание имени метода в коде с разными классами — из объекта какого класса осуществляется вызов, из того класса и берётся метод с данным именем. Такой механизм называется динамическим (или поздним) связыванием — в отличие от статического (раннего) связывания, осуществляемого на этапе компиляции
Объектно-ориентированный подход позволяет объединить статическую модель, описывающую свойства объекта и динамическую модель, описывающую их изменения.
При этом подходе доступ к изменению свойств объекта возможен только через принадлежащие этому объекту методы. Методы «окружают» свойства объекта; говорят, что свойства «инкапсулированы» в объект.
Таким образом, в объектно-ориентированном программировании центральное место занимают объекты, которые объединяют в одно целое (инкапсулируют) свойства объекта и возможные над ним операции (методы).
Объекты, инкапсулирующие одинаковый перечень свойств и операций, объединяются в классы. Каждый отдельный объект является экземпляром класса. Экземпляры класса могут иметь отличающиеся значения свойств.
Например, файловая система компьютера может содержать сотни и тысячи файлов. Все файлы обладают одним я тем же набором свойств (имя, положение в файловой системе и др.) и операций (переименование, перемещение или копирование и др.) и образуют класс объектов Файлы.
Каждый отдельный файл является экземпляром этого класса и имеет конкретные значения свойств (имя, местоположение и др.).
Часто встречается ситуация, когда над объектами различных классов можно совершать одинаковые операции. Для большинства классов объектов в среде Windows (папки, документы, символы и др.) также характерен набор одних и тех же операций (переименование, перемещение, копирование, удаление и т.д.). Такое единообразие очень удобно для пользователя.
Однако очевидно, что механизмы реализации этих операций неодинаковы для различных классов. Например, для копирования папки необходимо совершить последовательность действий по изменению файловой системы, а для копирования символа внести изменения в документ. Эти операции будут выполняться различными программами, которые имеются, соответственно, в операционной системе Windows и в текстовом редакторе Word.
Таким образом реализуется полиморфизм, т.е. возможность проведения одних и тех же операций над объектами, принадлежащими разным классам, при сохранении индивидуальных методов их реализации для каждого класса.
Объекты, обладающие одинаковыми наборами свойств и методов, образуют класс объектов. Так, в приложении Word существует класс объектов документ (Documents), который обладает такими свойствами как имя (Name), местоположение (FileNaine) и др. Объекты этого класса обладают также определенным набором методов, например: открытие документа (Open), печать документа (Printout), сохранение документа (Save) и т.д.
Объекты в приложениях образуют некоторую иерархию. На вершине иерархии объектов находится приложение (Application). Так, иерархия объектов приложения Word включает в себя следующие объекты: приложение (Application), документ (Documents), фрагмент документа (Selection), символ (Character) и др.
Иерархия объектов приложения Excel включает в себя следующие объекты: приложение (Application), книга (Workbook), лист (Worksheet), диапазон ячеек (Range), ячейка (Cell) и др.
Полная ссылка на объект состоит из ряда имен вложенных последовательно друг в друга объектов. Разделителями имен объектов в этом ряду являются точки, ряд начинается с объекта наиболее высокого уровня Application и заканчивается именем интересующего нас объекта. Например, ссылка на документ Пpo6a.doc в приложении Word будет выглядеть следующим образом:
Application. Documents ( "Пpo6a.doc")
Для того, чтобы объект выполнил какую-либо операцию необходимо задать метод. Многие методы имеют аргументы, которые позволяют задать параметры выполняемых действий. Для присваивания аргументам конкретных значений используется двоеточие и знак равенства, а между собой аргументы отделяются запятой.
В языке Visual Basic объекты характеризуются не только свойствами и методами, но и событиями. Событие представляет собой действие, распознаваемое объектом. Событие может создаваться пользователем (например, нажатие кнопки мыши или клавиши на клавиатуре) или быть результатом работы других объектов приложения.
Для каждого события можно запрограммировать отклик, то есть реакцию объекта на произошедшее событие. Такая программа называется событийной процедурой. Имя событийной процедуры принято составлять из имени объекта и имени события. Например, для объекта «кнопка» с именем Command1 и события Click ( «нажатие», которое наступает, когда мы наводим с помощью мыши стрелку курсора на изображение кнопки и нажимаем левую кнопку мыши) событийная процедура получит имяCommand1_Click.
В событийной процедуре может участвовать несколько объектов. Например, в упомянутой выше процедуре Command1_Click может присутствовать команда
Text1.Text = “Привет!”,
в результате выполнения которой в объекте «текстовое поле» с именем Text1появится строка со словом «Привет!».
Визуальное программирование, методы которого используются средой разработки Visual Basic позволяет создавать графический интерфейс разрабатываемых приложений на основе использования управляющих элементов, к котором относятся кнопки (CommandButton), флажки (CheckBox), текстовые поля (TextBox), поля со списком (ListBox) и другие. Эти объекты, их свойства и методы будут рассмотрены в следующем разделе. Пока лишь отметим, что управляющие элементы чаще всего используются для получения от пользователя данных и вывода результатов работы приложения. Таким образом, управляющие элементы являются основой для построения пользовательского интерфейса приложения.
Основными объектами, используемыми при визуальном программировании, являются формы (Form). Форма представляет собой окно, на котором размещаются управляющие элементы. Форма также представляет собой объект, характеризуемый набором свойств и методов. Как и для любого другого объекта для формы можно написать событийную процедуру, например Form_Load, которая запускается при наступлении события Load («загрузка») и в результате работы которой будут выполнены инструкции, необходимые для работы запускаемого приложения.
|