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

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

В середине 80-х гг. в программировании возникло новое направление, основанное на понятии объекта.

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

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

В настоящее время используется в ряде языков программирования высокого уровня – СИ++, Java, ObjectLisp, Смолток и др. В начале 90-х гг. была выявлена потребность в выработке единых спецификаций, которые должны позволить программным продуктам различных фирм взаимодействовать друг с другом в общей информационной среде. Фирма OMG (США) выработала идеологию «Бизнес-объекта».

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

Визуальное программирование

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

Процесс разработки

Каждая из параллельно работающих в рамках реализации подпроекта команд обычно состоит из менеджера по разработке (program manager), трёх-восьми разработчиков и такого же количества тестировщиков.

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

Разработчики выполняют проектирование, кодирование и отладку своего кода.

Основные определения

• Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.

• Алгоритмизация – процесс разработки алгоритма (плана действий) для решения задачи. Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад ученый из г.Хорезма создал книгу по математике, в которой описал способы выполнения арифметических действий над многозначными числами. Само слово "алгоритм" возникло в Европе после перевода на латынь этой книги. Научное определение понятия алгоритма дал А.Черч в

1930 г.

Понятие алгоритма

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

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

Языки программирования

• Алгоритмический язык – совокупность символов, соглашений и правил, используемых для однозначного описания алгоритмов и обычно являющаяся частью языка программирования.

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

Виды алгоритмов

• Линейные – действия выполняются одно за другим.

• Разветвлённые – есть условие и есть хотя бы два пути выполнения алгоритма.

• Циклические – многократное выполнение некоторой группы шагов.

• Адаптивный – обладает свойством настраиваться на условия применения.

• Логический – алгоритм решения логической задачи.

• Алгоритм маршрутизации – алгоритм решения задачи определения оптимального пути, по которому будут передаваться данные в коммуникационной сети.

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

Наши рекомендации