Основным элементом конструирования объектно-ориентированной программы является модуль, составленный из логически связанных объектов. По определению Г. Буча: «ООП - это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса (типов особого вида), а классы образуют иерархию на принципах наследуемости».
Технология объектно-ориентированного программирования явилась результатом эволюции методов программирования в направлении ярко выраженного конструктивного использования принципов структуризации, модульности и абстракции. Объектно-ориентированное программирование характеризуется тремя основополагающими идеями: инкапсуляцией, наследованием, полиморфизмом.
Суть технологии объектно-ориентированного программирования состоит в следующем:
формирование при решении прикладных задач понятия классов операционных объектов;
описание типов данных, характеризующих объекты класса и операции над объектами;
программирование алгоритмов решения задачи в терминах операций над базовыми и определенными пользователем объектами в рамках традиционных операционных возможностей языка.
В наибольшей степени технология объектно-ориентированного программирования проявляет свои преимущества при создании, сопровождении и развитии больших программных комплексов, классифицирует программы по количеству содержащихся в них программных строк (маленькая (меньше 100 строк), средняя (от 100 до 1000 строк), большая (от 1000 до 10000 строк), очень большая (больше 10000 строк).
Главная задача при использовании объектно-ориентированного программирования состоит в построении иерархии объектов. При этом любая модель, претендующая на адекватное описание, должна удовлетворять определенным условиям. Рассмотрим их более детально.
Целостное описание свойств объектов и их поведенческих функций.
Иерархическая структура описания системы объектов со встроенным механизмом наследования свойств и функций.
Полиморфизм описательных свойств функций, обеспечивающий передачу действий вверх и вниз по иерархии объектов с реализацией этого действия способом, соответствующим каждому объекту в иерархии. Объектно-ориентированный подход в настоящее время является одним из наиболее перспективных направлений в программировании. К числу его преимуществ относят; естественную методологию программирования, формулировку решений в терминах, близких области приложения, гармоничное включение развитого дружественного интерфейса пользователя, концептуальное единство и небольшое число основных конструкций, абстрактность данных, открытость, легкую расширяемость, универсальность и высокую повторную используемость создаваемых модулей. Объектно-ориентированное программирование позволяет создавать модульные программы с представлением данных на определенном уровне абстракции. Объектно-ориентированная методология, также как и структурная методология, была создана с целью дисциплинировать процесс разработки больших программных комплексов и тем самым снизить их сложность и стоимость. Она преследует те же цели, что и структурная, но решает их с другой отправной точки и в большинстве случаев позволяет управлять более сложными проектами, чем структурная методология. Особо отметим, что объектно-ориентированный подход упрощает технологию создания программ, но не саму программу.
Одним из принципов управления сложностью проекта является декомпозиция. Г. Буч выделяет две разновидности декомпозиции: алгоритмическую (так он называет декомпозицию, поддерживаемую структурными методами) и объектно-ориентированную. Их отличие в следующем: «Разделение по алгоритмам концентрирует внимание на порядке происходящих событий, а разделение по объектам придает особое значение факторам, либо вызывающим действия, либо являющимся объектами приложения этих действий». Таким образом, алгоритмическая декомпозиция учитывает структуру взаимосвязей между частями сложной проблемы, а объектно-ориентированная декомпозиция уделяет больше внимания характеру взаимосвязей. На практике рекомендуется применять обе разновидности декомпозиции: при создании крупных проектов целесообразно сначала применять объектно-ориентированный подход для создания общей иерархии объектов, отражающих сущность программируемой задачи, а затем для упрощения разработки и сопровождения разрабатываемого программного комплекса использовать алгоритмическую декомпозицию на модули. Хотя профессиональные программные системы разрабатываются в настоящее время преимущественно на основе объектно-ориентированной методологии, программистам по-прежнему необходимо владение навыками алгоритмической декомпозиции.
Похожие статьи:
Психолого-педагогическая характеристика детей с задержкой психического
развития
Систематическое психологическое изучение детей с задержкой, психического развития началось сравнительно недавно. Внимание исследователей было сосредоточено преимущественно на изучении познавательной деятельности детей этой группы. Т.А.Власова, В.И. Лубовский, Н.А.Никашина дают следующую психолого-п ...
Конспект сюжетно-ролевой игры на тему: «Торговый центр»
Цель. Развитие средств успешной социализации детей в коллективе. Задачи. Обучение детей реализовывать и развивать сюжет игры. Закреплять знания о функционировании центра; формирование навыков культурного поведения в общественных местах, положительных взаимоотношений между детьми. Игровой материал. ...
Теоретический анализ понятия «отклоняющееся поведение»
Социальная норма — это правила, образец действия, мера допустимого (дозволенного или обязательного) поведения или деятельности людей (социальных групп), которая официально установлено или сложилось на том или ином этапе развития общества. Фактически социальные нормы выступают моделью должного повед ...