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

6.2 Структурное программирование

Структурное программирование в целом не выходит за рамки процедурного направления, оно лишь дополнительно фиксирует некоторые полезные приемы технологии программирования.

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

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

  • возможность создания программы несколькими программистами,

  • маленькие модули можно написать легко и быстро;

  • простота проектирования и последующих модификаций программы;

  • упрощение отладки программы – поиска и устранения в ней ошибок, модули можно отлаживать и тестировать независимо от всей программы;

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

Встроенную поддержку модульности имеют языки Modula-2, Ada, Standard ML и др.

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

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

Прототипом объектно-ориентированного программирования послужил ряд средств, входящих в состав языка SIMULA-67. Но в самостоятельный стиль оно оформилось с появлением языка SMALLTALK, разработанного А. Кеем в 1972 году и первоначально предназначенного для реализации функций машинной графики.

Основная цель ООП, как и большинства других подходов к программированию – повышение эффективности разработки программ. Идеи ООП оказались плодотворными и нашли применение не только в языках программирования, но и в других областях Computer Science, например, в области разработки операционных систем.

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

  • объект;

  • свойство объекта;

  • метод обработки;

  • событие;

  • класс объектов.

Объект - совокупность свойств (параметров) определенных сущностей и методов их обработки (программных средств).

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

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

Свойство - характеристика объекта, его параметр. Все объекты наделены определенными свойствами, которые в совокупности выделяют объект из множества других объектов.

Одним из свойств объекта являются методегообработки.

Метод - программа действий над объектом или его свойствами, рассматривается как программный код, связанный с определенным объектом; осуществляет преобразование свойств, изменяет поведение объекта.

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

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

Событие - изменение состояния объекта.

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

Объекты могут объединяться в классы(группы или наборы - в различных программных системах возможна другая терминология).

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

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

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

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

  • инкапсуляция (замыкание) свойств данных и программ в объекте;

  • наследование;

  • полиморфизм.

Инкапсуляция означает сочетание структур данных с методами их обработки в абстрактных типах данных -классахобъектов.

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

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

Из языков объектного программирования, популярных среди профессионалов, следует назвать прежде всего Си++, для более широкого круга программистов предпочтительны среды типа DelphiиVisualBasic.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]