Вопросы к экзамену  по ООП

 

Объектный подход.

 

  1. Эволюция методологий программирования. Парадигмы программирования.
  2. Основные принципы объектного подхода. Абстрагирование.
  3. Основные принципы объектного подхода. Инкапсуляция.
  4. Основные принципы объектного подхода. Модульность.
  5. Основные принципы объектного подхода. Иерархия.
  6. Основные принципы объектного подхода. Типизация.
  7. Основные принципы объектного подхода. Параллелизм. Сохраняемость.
  8. Объект с точки зрения ООП. Состояние. Поведение.
  9. Объект с точки зрения ООП. Идентичность и жизненный цикл объектов.
  10. Объект с точки зрения ООП. Взаимоотношения между объектами.
  11. Классы. Природа классов. Метамодель. Инстанцирование.
  12. Классы. Структура класса. Абстрактные классы и интерфейсы.
  13. Классы. Отношения между классами. Ассоциация и агрегация.
  14. Классы. Иерархии классов. Зависимость.

 

C++:

  1. Модель памяти и структура программы. Классы памяти. Ссылки.
  2. Средства абстракции C++. Структура класса. Статические члены.
  3. Средства инкапсуляции C++. Инкапсуляция и наследование. Друзья.
  4. Модульность, раздельная компиляция, пространства имен, using директива.
  5. Представление иерархических отношений. Наследование.
  6. Представление иерархических отношений. Агрегация. Зависимость по времени жизни.
  7. Правила преобразования типов в C++. Параметрический и виртуальный полиморфизм.
  8. C++: средства реализации состояния объектов; реализация поведения.
  9. Перегрузка операторов. 
  10.  Жизненный цикл объекта. Инициализация массивов. Конструкторы и деструкторы. Порядок вызова конструкторов и деструкторов при наследовании.
  11. Варианты реализации отношения клиент-сервер. Объекты при передаче параметров и возврате из методов.
  12. Исключения в C++. Обработка исключений.
  13. Шаблоны классов и шаблоны функций. Специализация.
  14. Основы STL. Структура и назначение. Контейнеры.

 

 

Java:

  1. Виртуальная машина. Структура программ. Типы переменных в Java. Принципы работы ClassLoader.
  2. Средства абстракции Java. Структура класса. Статические члены.
  3. Внутренние и вложенные классы. Статический и динамический контекст. Локальные и анонимные классы.
  4. Средства инкапсуляции Java. Поддержка модульности. Пакеты.
  5. Представление иерархических отношений. Наследование. Интерфейсы и абстрактные классы.
  6. Агрегация и зависимость от времени жизни. Реализация отношений клиент-сервер. Стандартные контейнеры.
  7. Типизация. Правила преобразования типов. instanceof и ClassCastException. Класс Class.
  8. Средства поддержки параллелизма. Активные и пассивные объекты. Класс Object.
  9. Использование Thread и Runnable. Пул потоков, назначение и принципы реализации.
  10. Исключения. Обработка исключительных ситуаций.
  11. Сохраняемость. Serializable и Externalizable. Программирование распределенных приложений.
  12. Модель безопасности Java. Policy, Permissions, AccessController.
  13. Графическая подсистема. Основы AWT, Applet, Swing components. Событийная модель.
  14. Средства поддержки Java машины. System, Runtime, сборка мусора.