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

ООП как технология

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

Данные определяются через поля (аналогично данным типа record — запись). Методы – это процедуры и/или функции, обрабатывающие поля данных. По отношению к методам поля данных являются глобальными переменными.

Разработка этой технологии была вызвана необходимостью компьютерного решения задач имитационного программирования.

Процесс разработки проекта на основе ООП начинается с объектной декомпозиции задачи. Её суть состоит в представлении задачи в виде иерархии (упорядоченной последовательности) элементов, выполняющих определённые действия. В отличие от структурного программирования, в котором элементы (подпрограммы и/или функции) существуют не зависимо друг от друга, в ООП элементы связаны функционально (аналогично связи родителей и детей). Каждый последующий-дочерний элемент наследует свойства предыдущего-родительского, сохраняя при этом право дополнять наследуемые свойства новыми, собственными. Например:

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

В ООП к решению этой задачи подходим системно:

  • Выделяем базовый элемент, на основе которого можно сформировать последовательность дочерних элементов. Этим элементом может быть элемент с полями: X, Y, характеризующими положение точки, Form, представляющим её форму изображения и Color, задающим её цвет, и методами: инициализации полей (задание им конкретных значений) и отображением точки на экране;
  • Формируем наследующий элемент с новыми полями, дополняющими наследуемые: X, ∆Y — изменяющие положение точки в заданном направлении (приращения изменения координат положения точки) и методами: инициализации всех полей: предыдущих с учётом наследования и новых — собственным методом;
  • Формируем новый дочерний элемент, определяющий координаты пространства и, отображающий процесс движения точки (расшифровку этого элемента проводить не будем).

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

Сравнительный анализ технологий структурного и объектно-ориентированного программирования позволяет сделать следующие выводы:

  • В основу структурной декомпозиции заложен принцип деления целого на составные, самостоятельные части (принцип ‘от сложного к простому’). Этот принцип может быть заложен и в основу объектной декомпозиции, но чаще всего только при декомпозиции предметной области решаемой задачи, тем не менее, и на этом этапе необходимо уже учитывать функциональную связь составных частей. На этапе же декомпозиции составных частей используется принцип выявления базовых функциональных элементов, на основе которых с учётом наследования можно построить весь процесс решения части задачи или всей задачи в целом (принцип ‘от простого к сложному’).
  • Затраты на анализ, декомпозицию предметной области задачи и разработку структурной схемы программного продукта в объектно-ориентированном программировании более значительны чем в структурном и даже модульном.
  • Однако при разработке основных частей программ (это видно уже в приведённом выше примере) технология ООП компенсирует все затраты (‘игра стоит свеч!’).
Ссылка на основную публикацию
Adblock
detector