Мегаобучалка Главная | О нас | Обратная связь


Объектно-ориентированное программирование



2019-10-11 470 Обсуждений (0)
Объектно-ориентированное программирование 0.00 из 5.00 0 оценок




 

Метод структурного программирования оказался эффективен при написании программ «ограниченной сложности». Однако с возрастанием сложности реализуемых программных проектов и, соответственно, объема кода создаваемых программ, возможности метода структурного программирования оказались недостаточными.

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

Чтобы писать все более сложные программы, необходим был новый подход к программированию. В итоге были разработаны принципы объектно-ориентированного программирования.

Теоретические основы объектно-ориентированного программирования были заложены еще в 70-х годах прошлого века, но практическое их воплощение стало возможно лишь в середине 80-х, с появлением соответствующих технических средств.

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

Объектно-ориентированные программы называют «программами, управляемыми от событий», в отличие от традиционных программ, называемых «программам, управляемыми от данных».

 

Основные методы и концепции ООП:

· метод объектно-ориентированной декомпозиции – заключается в выделении объектов и связей между ними. Метод поддерживается концепциями инкапсуляции, наследования и полиморфизма.

· метод абстрактных типов данных – метод, лежащий в основе инкапсуляции. Поддерживается концепцией абстрактных типов данных.

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

 

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

 

 

Основные понятия.

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

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

Метод – программа действий над объектом или его свойствами.

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

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

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

Объекты могут объединяться в классы.

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

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

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

 

 

 

В объектно-ориентированном программировании определяют три основных принципа:

· инкапсуляция. Это сокрытие информации и комбинирование данных и функций (методов) внутри объекта;

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

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

 

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

В процессе объектно-ориентированного анализа:

· осуществляется идентификация объектов и их свойств;

· устанавливается перечень операций (методов обработки), выполняемых над каждым объектом, в зависимости от его состояния (событий);

· определяются связи между объектами для образования классов;

· устанавливаются требования к интерфейсу с объектами.

 

Выделяют следующие этапы объектно-ориентированного проектирования:

· разработка структуры классов, описывающей связь между классами и объектами;

· разработка диаграмм объектов, показывающие взаимосвязи с другими объектами;

· разработка внутренней структуры программного продукта.

 

Для поддержки концепции объектно-ориентированного программирования были разработаны специальные объектно-ориентированные языки программирования. Все эти языки можно разделить на три группы:

· чистые языки, в наиболее классическом виде поддерживающие объектно-ориентированную методологию. Такие языки содержат небольшую языковую часть и существенную библиотеку, а также набор средств поддержки времени выполнения;

· гибридные языки, которые появились в результате внедрения объектно-ориентированных конструкций в популярные императивные языки программирования;

· урезанные языки, которые появились в результате удаления из гибридных языков наиболее опасных и ненужных с позиций ООП конструкций.

 

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


 

Контрольные вопросы

 

1. Дайте определение понятий «программа», «программный продукт», «программный комплекс».

2. Дайте определение понятий «методология программирования», «технология программирования».

3. Дайте определение понятий «процесс», «стадия».

4. Охарактеризуйте методологию императивного программирования.

5. Охарактеризуйте методологию модульного программирования.

6. Охарактеризуйте методологию структурного программирования.

7. Охарактеризуйте методологию объектно-ориентированного программирования.

 




2019-10-11 470 Обсуждений (0)
Объектно-ориентированное программирование 0.00 из 5.00 0 оценок









Обсуждение в статье: Объектно-ориентированное программирование

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (470)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)