Добавил:
study@slavapmk.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Все Лекции

.pdf
Скачиваний:
0
Добавлен:
12.05.2026
Размер:
15.98 Mб
Скачать

СПАСИБО ЗА ВНИМАНИЕ!

38

Информационные технологии

и программирование

Лекция 9. Стили и методы программирования

Стили и методы программирования

•Функциональное программирование

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

Обобщенное программирование

Автоматное программирование

2

Обобщенное программирование

Необходимая часть в арсенале практически всех современных ЯП: обобщенные структуры данных и обобщенные алгоритмы - ценный и полезный механизм разработки.

Что параметризовать: структуры данных или алгоритмы? (как правило, и то, и другое)

Чем параметризовать?- только типами (C#, Java, Swift) или всем, чем угодно? (Ada, C++)

Какие ограничения накладывать на параметры? Никаких вообще («старый» C++) или жесткие и эффективно проверяемые ограничения (С++20, С#, Eiffel, Ada)?

3

Обобщенное программирование. Идея

4

Обобщенное программирование. Идея

Как обобщить эту функцию, чтобы она работала не только для целых, но и для других предопределенных типов

(float, double, и т.п.)?

Как обобщить эту функцию, чтобы она работала для пользовательских (классовых) типов?

int Max ( int a, int b )

{

return a>b ? a : b;

}

5

Обобщенное программирование. Идея

6

Обобщенное программирование. Идея

7

Настройка шаблона

Настройка шаблона выполняется

автоматически компилятором

Компилятор анализирует типы параметров вызова и подставляет их вместо формальных типов шаблона

Настройка шаблона для конкретного типа производится

только один раз

Настройка шаблона производится для каждого множества типов

8

Настройка шаблона

9