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

2.Основные понятия объектно-ориентированного подхода: объекты, классы и методы.

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

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

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

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

Свойства которыми может обладать объект могут быть трех видов.

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

- Процедуры или услуги, предоставляемые объектом, такие как перемещение или расширение. Их называют операциями (operation) или методами (method).

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

Строго говоря, методы являются функциями, которые реализуют операции, а операции — это абстрактные спецификации методов

  1. Объектно-ориентированный подход в программировании. Базовые принципы о-о подхода.

Объектно-ориентированное программирование (ООП) (Object-Oriented Programming) - это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.

К существенным отличиям о-о подхода от традиц-го проектир-я относят возмож-ть использ-я итсративно-поступательного_цикла созд-я ПО и перенос акцента проектир-я с разработки @-ов функционир-я системы на построение с-мы абстракций и их взаимод-я. При созд-ии программ-х систем для реализации, получ с пом о-о подхода проектир-я модели необх такой язык программир-я, v бы поддерживал о-о идеологию. Систематическое применение о-о подхода позволяет разрабатывать хорошо структурированные, надежные в эксплуатации, достаточно просто модифицируемые программ. системы. Этим объясняется интерес программистов к о-о подходу и о-о языкам программ-я.

О-о подход явл 1 из наиб интенсивно развивающихся направлений теоретич-го и прикладного программ-я.

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

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

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

  1. Этапы разработки объектно-ориентированных программ.

Процесс создания объектно-ориентированного программного обеспечения включает три этапа:

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

  • объектно-ориентированное проектирование(разработка объектно-ориентированной модели ПО (системной архитектуры) с учетом системных требований; в объектно-ориентированной модели определение всех объектов подчинено решению конкретной задачи);

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

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

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

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

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

  1. Основы алгоритмизации. Понятие и св-ва @. Способы описания @-ов. Типы @-ов.

Алгоритмизация – это процесс составления алгоритмов.Алгоритм – точная конечная послед-ть предписаний, исполнениеvпозволяет за конечное число шагов получить реш-е задачи.Св-ва алгоритмов: 1) дискретность – в @ выделяются отд-ые шаги 2) массовость - @ д/б пригоден для реш-я относит-но широкого класса сходных задач 3) понятность – исполнитель способен воспринять каждую команду 4) результативность – вып-е @ гарантирует реш-е поставлен задачи 5) точность – кажд операция вып-ся однозначно и одновременно опред-ся послед-ть их вып-ий. Исполнителем @ м/б чел-к или автоматическое устр-во.Способы описания @: 1) блок-схема (набор геометр. фигур внутриvзапис-ся действия @) 2) словесное описание (инструкция) 3) аналитический (любая формула) 4) табличный.Типы @: 1) Разветвляющиеся @(есть одно или неск-ко логич-х усл-ий и неск-ко ветвей выч-я. Ветвящийся процесс, включ в себя 2 ветви, наз-ся простым, более 2 ветвей – сложным, направление ветвей выбир-ся логич проверкой, в рез-те возможны 2 ответа да или нет.) 2)Циклические @(это @ предусматривающие неоднородное вып-е 1 и той же серии команд в конкретном месте. В цикле м/выделить след этапы подготовки цикла: вып-е вычислений цикла; модификация параметров; проверка усл-я окончания цикла. Цикл наз-сядетерминированным, если число повторений тела цикла заранее известно. Цикл наз-сяитерационным, если число повторений тела цикла заранее неизвестно, а зависит от значений параметров. Циклы бывают: с параметром, с предусловием, с постусловием. Цикл с предусловием - вып-ся до тех пор, пока усл-е истинно, как т-ко усл-е стан-ся ложным происх-т выход из цикла. Он м/не вып-ся ни разу. Цикл с постусловием – операторы цикла вып-ся до тех пор, пока условие ложно, как т-ко усл-е стан-ся истинным, произойдет выход из цикла, он вып-ся точно хотя бы 1 раз). 3)Линейный @(выч-ный процесс вvоперации вып-ся послед-но в порядке их записи).