Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций.docx
Скачиваний:
11
Добавлен:
01.07.2025
Размер:
425 Кб
Скачать
☆

16.1. Основные понятия объекто – ориентированного программирования.

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

В объекто – ориентированном программировании важную роль играют четыре понятия. При абстрагировании реальные процессы ограничиваются их функциями, существенными для программирования. Внутреннее содержание объекта защищается от внешнего мира посредством инкапсуляции. Благодаря наследованию уже запрограммированные функциональные возможности можно использовать и для других объектов. Полиморфизм позволяет использовать различные объекты и по разному реализуемые функции под одним именем. Вы уже работали с объектами, возможно не замечая этого. Объекты являются программным представлением физических или логических сущностей реального мира. Они необходимы для моделирования поведения физических или логических объектов, которые они представляют. Например, объект управления Text Box служит для отображения и редактирования текста в форме. Для добавления элемента управления Text Box в форму не нужно писать ни строчки – можно просто воспользоваться готовым объектом из панели инструментов. Для изменения поведения и состояния объектов управления используются их свойства и методы.

Классы объектов.

На панели инструментов VB находятся строго говоря не объекты , а классы объектов управления. Различие между классами и объектами состоит в том,то объекты в VB существуют только во время выполнения программы. Классы же используются для задания структуры объектов. Во время разработки программы и во время выполнения класс объектов используется как шаблон для создания конкретных объектов управления. Благодаря этому возможно создание при разработке программы произвольное количество объектов одного класса.

Абстрагирование.

Человек использует абстрагирование для того, чтобы проще описывать сложные объекты окружающей среды. Представьте себе, что в обычном языке не существует объектов (понятий ) абстрагирующих окружающий мир. Тогда для того, чтобы сообщить другому человеку о каком - либо предмете, например автомобиле, пришлось бы подробно описать его. трудно вообразить, сколько времени потребовалось бы для описания объекта. То же относится и к программированию. Например, для использования текстового окна не нужно разрабатывать специальный драйвер графической карты. Вы просто используете объект класса Text Box. Этот абстрагированный объект содержит в себе все, что нужно для редактирования текста в Windows.

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

Инкапсуляция

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

Взаимодействие клиента с объектом происходит через интерфейс. обычно интерфейс определяет единственный способ входа в объект и выход из него; детали реализации остаются инкапсулированными. При создании собственных объектов необходимо организовывать такие же интерфейсы. В объектах VB интерфейсами являются свойства, методы и события. Только они предоставляются данным объектом в распоряжение других объектов. Благодаря этому система предотвращает доступ других объектов (клиентов) к внутренним переменным состояния объекта, которые могут обрабатываться только предусмотренными для этого процедурами.

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

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

Наследование.

Наследованием мы называем повторное использование уже созданной части кода в других проектах. Посредством наследования формируются связи между объектами , а для выражения процесса используют понятие о родителях и потомках . В программировании наследование моделирует связь «это – является» или « это имеет». Наследование служит для сокращения избыточности кода и суть его заключается в том , что уже существующий интерфейс вместе с его программной частью можно использовать для других объектов. При наследовании может производиться также изменение интерфейса.

Полиморфизм

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