Ада-95. Компилятор GNAT

       

Язык Ада - взгляд "сверху вниз"

Язык Ада - взгляд "сверху вниз"

Абстракция данных
Объектно-ориентированное программирование
Сущность абстрактного типа данных
Структура абстрактного типа данных
Средства Ады для работы с абстрактными типами данных
Пакеты как средство абстракции данных
Сравнение пакетов и классов
Абстракция стека

Абстракция очереди
Еще один пример стека
Создание абстракций из настраиваемых абстракций


Настраиваемый модуль как параметр настройки
Тэговый тип как параметр настройки
Производный тип как параметр настройки

Построение абстракции путем композиции
Абстрагирование общей функциональности
Многоуровневые абстракции
Комбинирование абстракций, множественное наследование
Смешанное наследование
Родственное наследование

Пример программирования посредством расширения
Контекст и видимость
Управление видимостью

Подсистемы
Элаборация
Код элаборации
Проверка порядка элаборации
Управление порядком элаборации

"Сюрпризы" численных типов
Принудительная инициализация
Взаимно рекурсивные типы
Рекомендации по построению абстракций
Тэговые типы - не для всех абстракций!
Контролируемые или не контролируемые?
Никогда не используйте неинициализированные объекты

Создание и удаление объектов
Именование тэговых типов
Именование методов
Опасность наследования
Советы Паскаль-программистам
Описания и их последовательность
Структуры управления
Типы и структуры данных

Совместимость типов и подтипов
Параметры подпрограмм
Пакеты Ады и их соответствие модулям Паскаля
Использование "is" и символа точки с запятой ';'
Содержание раздела