Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции заочникам урезанный вариант.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
644.1 Кб
Скачать

Преимущества ооп

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

(В настоящее время не рекомендуется вообще использовать метки, т.к. использование усложняет понимаемость кода программы.)

В 60-х годах была реализована методика структурного программирования, подразумевавшая использование переменных с осмысленными именами, существование глобальных и локальных переменных и процедурное проектирование приложений по принципу "сверху вниз". Благодаря внедрению в жизнь этих концепций тексты программ стали понятнее и читабельнее, в результате чего упростился процесс отладки программ. Стало проще сопровождать программы, так как появилась возможность контролировать выполнение не отдельных команд, а целых процедур. Примерами языков, ориентированных на подобный процедурный подход, могут быть Ada, С и Pascal.

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

Создателем ООП считают Бьярна Страуструпа (Bjarne Stroustrup). Концепция ООП была представлена им в языке C++, разработанном им в начале 80-х в компании BellLabs. ООП в C++ в значительной степени основано на концепциях и средствах структурного программирования языка С.

Отличия ООП от процедурных программ

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

Структура процедурных программ в общем такова: имеется функция main(), а из нее вызываются другие функции программы. Тело функции main(), как правило, невелико. Ее роль обычно сводится к распределению задач между остальными функциями, которые описывают действия, выполняемые над данными.

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

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

Например, задача, сформулированная как расчет суммы двух чисел может быть представлена объектом

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

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

Кроме этого ООП поддерживает три основных принципа: инкапсуляцию, наследование и полиморфизм.

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

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

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

RAD (от англ. rapid application development -- быстрая разработка приложений) - концепция создания средств разработки программных продуктов, уделяющая особое внимание быстроте и удобству программирования, созданию технологического процесса, позволяющего программисту максимально быстро создавать компьютерные программы. Концепцию RAD также часто связывают с концепцией визуального программирования.

Основные принципы RAD

· Инструментарий должен быть нацелен на минимизацию времени разработки.

· Создание прототипа для уточнения требований заказчика.

· Цикличность разработки: каждая новая версия продукта основывается на оценке результата работы предыдущей версии заказчиком.

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

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

· Управление проектом должно минимизировать длительность цикла разработки.

Основателем RAD считается сотрудник IBM Джеймс Мартин, который в 1980-х годах сформулировал основные принципы RAD. А в 1991 году Мартин опубликовал книгу, в которой детально изложил концепцию RAD и возможности её применения. В настоящее время RAD становится общепринятой схемой для создания средств разработки программных продуктов. Именно средства разработки, основанные на RAD, имеют наибольшую популярность среди программистов.