Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
70
Добавлен:
18.05.2015
Размер:
101.38 Кб
Скачать

Модульное программирование

В данном подходе происходит разбиение задачи на модули. Они реализуют

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

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

Модуль характеризуют:

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

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

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

слабые информационные связи с другими программными модулями – обмен информацией между модулями должен быть по возможности минимизирован.

При определении набора модулей, реализующих функции конкретного алгоритма, необходимо учитывать следующее:

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

принятие основных решений в алгоритм выносится на максимально «высокий» по иерархии уровень;

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

Алгоритмы большой сложности обычно представляются с помощью схем двух видов:

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

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

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

В данном подходе основными базовыми понятиями являются: объект и класс. Класс – это такой тип

объектов, который описывает устройство объектов, а

объект – это экземпляр класса. Основными концепциями ООП являются: инкапсуляция (по этой

концепции класс рассматривается как черный ящик,

пользователь работает только с интерфейсной частью), полиморфизм (по этой концепции один и

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

используется при вызове данного кода), наследование (по этой концепции можно создавать

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

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

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

свойство объекта – характеристика объекта, его параметр;

метод обработки – программа действий над объектом или его свойствами;

событие – изменение состояния объекта;

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

Объектно-ориентированный подход основан на трёх

основополагающих концепциях:

инкапсуляция;

полиморфизм;

наследование.

Рассмотрим эти концепции.

Инкапсуляция

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

В объектно-ориентированном программировании код и данные могут быть объединены вместе; в этом случае говорят, что создаётся так называемый «чёрный ящик». Когда коды и данные объединяются таким способом, создаётся объект (object) – это то, что поддерживает инкапсуляцию.

Внутри объекта коды и данные могут быть закрытыми (private). Закрытые коды или данные доступны только для других частей

этого объекта. Таким образом, закрытые коды и данные

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

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

Преимущества инкапсуляции

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

Преимущество 2. Целостность ссылок. Перед доступом к объекту, связанному с данным объектом, можно удостовериться, что косвенное поле содержит корректное значение (ссылку на экземпляр).

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

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

Полиморфизм

Полиморфизм – это свойство, которое позволяет одно и то же имя использовать для решения двух или более схожих, но технически разных задач.

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

Соседние файлы в папке Технологии обработки информации(лекции)