83. Объектно-ориентированное программирование
Объектно-ориентированное программирование
– это методика разработки программ, в основе которой лежит понятие объект.
Объект – это некоторая структура,
соответствующая объекту реального мира, его поведению.
Задача, решаемая с использованием методики ООП, описывается в
терминах объектов и операций над ними, а программа при таком подходе
представляет собой набор объектов и связей между ними.
Суть ООП состоит в том, чтобы обращаться с данными и
процедурами, которые выполняют действия над данными, как с единым объектом, т.е.
самодостаточным элементом, который в чем-то идентичен другим таким же объектам,
но в тоже время отличается от них определенными уникальными свойствами.
В технологии объектно-ориентированного программирования
объекты сохраняют свою целостность, все свойства объекта и его поведение
описываются внутри самого объекта.
В настоящее время методология объектно-ориентированного
программирования используется в ряде языков высокого уровня, например, в
Java, Си++ и Visual Basic,
в интегрированных средах, например, в Delphi.
В ООП, программа рассматривается как содержащая набор
отдельных модулей, или объектов, которые влияют друг на друга. Каждый из этих
объектов может рассматриваться как по своей сути независимая программа,
с определенной ролью или ответственностью.
Систематическое применение объектно-ориентированного подхода
позволяет разрабатывать хорошо структурированные, надежные в эксплуатации,
достаточно просто модифицируемые программные системы. Этим объясняется интерес
программистов к объектно-ориентированному подходу и объектно-ориентированным
языкам программирования. ООП является одним из наиболее интенсивно
развивающихся направлений теоретического и прикладного программирования.
Основная цель объектно-ориентированного программирования —
связать вместе данные (в виде переменных) с кодом, который работает с этими
данными
Основные понятия объектно-ориентированного программирования:
объект, класс, свойство, метод, событие.
Класс
– сложная структура, включающая, помимо описания данных, описание
процедур и функций, которые могут быть выполнены над представителем класса -
объектом.
Объект - совокупность свойств (параметров)
определенных сущностей и методов их обработки (программных средств).
Объект содержит инструкции (программный код),
определяющие действия, которые может выполнять объект, и обрабатываемые
данные.
Свойство -
характеристика объекта, его параметр. Все объекты наделены определенными
свойствами, которые в совокупности выделяют объект из множества других объектов.
Одним из свойств объекта являются метод его
обработки.
Метод - программа
действий над объектом или его свойствами.
Метод рассматривается как программный код, связанный с
определенным объектом; осуществляет преобразование свойств, изменяет поведение
объекта.
Объект может обладать набором заранее определенных встроенных
методов обработки, либо созданных пользователем или заимствованных в стандартных
библиотеках, которые выполняются при наступлении заранее определенных
событий, например, однократное нажатие левой кнопки мыши, вход в поле ввода,
выход из поля ввода, нажатие определенной клавиши и т.п.
Событие - изменение
состояния объекта.
Внешние события генерируются пользователем (например,
клавиатурный ввод или нажатие кнопки мыши, выбор пункта меню, запуск макроса);
внутренние события генерируются системой.
Объекты могут объединяться в классы (группы или наборы
- в различных программных системах возможна другая терминология).
Методы построения классов
• инкапсуляция
– скрытие полей объекта с целью обеспечения доступа к ним только посредством
методов класса. Благодаря этой характеристике пользователь может не задумываться
о внутреннем устройстве объектов;
• наследование
– возможность определять новые классы посредством добавления полей, свойств и
методов к уже существующим классам. Такой механизм получения новых классов
называется порождением. При этом новый, порожденный класс (потомок) наследует
свойства и методы своего базового, родительского класса;
• полиформизм
– возможность использовать одинаковые имена для методов, входящих в различные
классы. Концепция полиморфизма обеспечивает в случае применения метода к объекту
использование именно того метода, который соответствует классу объекта.
• композиция
в ООП - метод создания нового объекта путём объединения старых и новых
частей, в противоположность наследованию. Композицией называется такое отношение
между классами, когда один класс является частью другого. Конкретно композиция
реализуется включением в класс поля, являющегося объектом другого класса, такие
поля называются объектными полями.
Принципы и этапы объектно-ориентированного программирования.
Объектно-ориентированное программирование базируется на трех
важнейших принципах, придающих объектам новые свойства.
Принципы объектного подхода:
• инкапсуляция
(замыкание) свойств данных и программ в объекте;
• наследование;
• полиморфизм.
Выделено четыре этапа объектно-ориентированного
проектирования:
• разработка
диаграммы аппаратных средств системы обработки данных, показывающей процессоры,
внешние устройства, вычислительные сети и их соединения;
• разработка
структуры классов, описывающей связь между классами и объектами;
• разработка
диаграмм объектов, показывающих взаимосвязи с другими объектами;
• разработка
внутренней структуры программного продукта.