Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры ппвис 1 часть технологии.doc
Скачиваний:
36
Добавлен:
01.03.2016
Размер:
100.86 Кб
Скачать

21. Полиморфизм. Виды полиморфизма

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

Виды полиморфизма:

- статический (определяется во время компиляции). Перегрузка функций, методов, операторов и т.д.

- динамический (определяется во время выполнения). Содержит виртуальные функции и методы.

22. Наследование как механизм реализации полиморфизма, создания иерархий классов. Типы наследования.

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

Типы наследования: прямое и косвенное, простое и множественное.

23. Классы. Базовые, производные, полиморфные, абстрактные, виртуаль-ные. Примеры.

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

Базовый класс – класс, члены которого наследуются.

Производный класс – класс, который наследует чужие члены.

Полиморфный класс – класс, содержащий виртуальные методы.

Абстрактный класс – класс, содержащий чисто виртуальные методы.

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

24. Принципы раннего и позднего связывания.

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

Ранее связывание — установка таких связей до начала выполнения программы. Обычно под этим понимается связывание в процессе компиляции исходных модулей и компоновки исполняемого модуля из объектных.

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

25. Использование языка uml для спецификации

Имя_класса

Атрибуты класса

Операции над атрибутами

Роль класса


26. Описание иерархий классов диаграммами uml.

Отношения классов через . И показать разные отношения: прямое, косвенное, множественное.

27. Классы-шаблоны. Описание в uml.

Шабло́н класса — средство языка C++, предназначенное для кодирования обобщённых алгоритмов классов, без привязки к некоторым параметрам (например, типам данных, размерам буферов, значениям по умолчанию).

Синтаксис:

template <class или typename T>

class NAME_CLASS

{ … };

NAME_CLASS <int> B; //Вызов

UML: