Вопросы к
экзамену по ООП
Объектный подход.
- Эволюция методологий
программирования. Парадигмы программирования.
- Основные принципы объектного подхода.
Абстрагирование.
- Основные принципы объектного подхода.
Инкапсуляция.
- Основные принципы объектного подхода.
Модульность.
- Основные принципы объектного подхода.
Иерархия.
- Основные принципы объектного подхода.
Типизация.
- Основные принципы объектного подхода.
Параллелизм. Сохраняемость.
- Объект с точки зрения ООП. Состояние.
Поведение.
- Объект с точки зрения ООП. Идентичность
и жизненный цикл объектов.
- Объект с точки зрения ООП.
Взаимоотношения между объектами.
- Классы. Природа классов. Метамодель.
Инстанцирование.
- Классы. Структура класса. Абстрактные
классы и интерфейсы.
- Классы. Отношения между классами.
Ассоциация и агрегация.
- Классы. Иерархии классов.
Зависимость.
C++:
- Модель памяти и структура программы.
Классы памяти. Ссылки.
- Средства абстракции C++. Структура класса. Статические
члены.
- Средства инкапсуляции C++. Инкапсуляция и наследование.
Друзья.
- Модульность, раздельная компиляция,
пространства имен, using директива.
- Представление иерархических
отношений. Наследование.
- Представление иерархических
отношений. Агрегация. Зависимость по времени жизни.
- Правила преобразования типов в C++. Параметрический и виртуальный
полиморфизм.
- C++: средства реализации состояния
объектов; реализация поведения.
- Перегрузка операторов.
- Жизненный цикл объекта. Инициализация массивов.
Конструкторы и деструкторы. Порядок вызова конструкторов и деструкторов
при наследовании.
- Варианты реализации отношения
клиент-сервер. Объекты при передаче параметров и возврате из методов.
- Исключения в C++. Обработка исключений.
- Шаблоны классов и шаблоны функций.
Специализация.
- Основы STL. Структура и назначение. Контейнеры.
Java:
- Виртуальная машина. Структура
программ. Типы переменных в Java. Принципы работы ClassLoader.
- Средства абстракции Java. Структура класса. Статические
члены.
- Внутренние и вложенные классы.
Статический и динамический контекст. Локальные и анонимные классы.
- Средства инкапсуляции Java. Поддержка модульности. Пакеты.
- Представление иерархических
отношений. Наследование. Интерфейсы и абстрактные классы.
- Агрегация и зависимость от времени
жизни. Реализация отношений клиент-сервер. Стандартные контейнеры.
- Типизация. Правила преобразования
типов. instanceof и ClassCastException. Класс Class.
- Средства поддержки параллелизма.
Активные и пассивные объекты. Класс Object.
- Использование Thread и Runnable. Пул потоков, назначение и принципы
реализации.
- Исключения. Обработка исключительных
ситуаций.
- Сохраняемость. Serializable и Externalizable. Программирование распределенных
приложений.
- Модель безопасности Java. Policy, Permissions,
AccessController.
- Графическая подсистема. Основы AWT, Applet, Swing components.
Событийная модель.
- Средства поддержки Java машины. System, Runtime, сборка мусора.