Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора 57стр.doc
Скачиваний:
54
Добавлен:
15.06.2014
Размер:
478.21 Кб
Скачать

Вопрос 53. Классы-контейнеры и классы-итераторы.

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

Возможности классов-контейнеров:

  1. вставка, 2)удаление, 3) поиск, 4) сортировка, 5)проверка наличия элемента в классе и тому подобное, называемые алгоритмом.

Алгоритм – ф-ция, к-рая производит некоторые действия над эл контейнера

Примеры классов-контейнеров:

1) массивы, 2) стеки, 3) очереди, 4) связные списки.

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

3 типа классов-итераторов:

1 Прямой, проход осуществляется по элементам

2. Двунаправленный

3. Итератор со случайным доступом

Вопрос 54. Понятие ооп. Три условия ооп-программы. Парадигмы ооп.

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

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

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

Условия ООП-программы:

1.ООП-программы используют в кач-ве базовых эл-тов - объекты.

2.Каждый объект явл-ся экземпляром какого-либо определенного класса

3.Класы организованы иерархически с возможностью установления соотн-ния is a.

Парадигма ООП

Существует 5 разновидностей программирования:

  1. процедурно-ориентированный (баз. элемент - алгоритм)

  2. объектно-ориент. программ-ние (баз. Эл-т -классы и объекты)

  3. логико-ориентир. (баз.эл-т - цели)

  4. ориент. на правила (баз. эл-т - правило «если-то»)

  5. Ориентир на ограничения (баз. эл-т – инвариантные соотношения)

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

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

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

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