- •Билет 1
 - •3. Замещение методов и принцип подстановки.
 - •Билет 2
 - •1. Принцип Чёрча. Гипотеза Ворфа. Гипотеза Сапира-Ворфа. Формальные модели вычислений (модели Чёрча, Поста, Маркова, Тьюринга, Клини и другие).
 - •2. Итераторы. Объекты-функции. Будущее ооп.
 - •Билет 5
 - •Билет 8
 - •Понятие полиморфной переменной
 - •3. Формы наследования. Порождение подкласса для комбинирования.
 - •Формы наследования
 - •Билет 19
 - •Билет 20
 - •Билет 21
 - •Билет 22
 - •3. Программные компоненты. Их разновидность. Основная целевая направленность.
 - •Билет 23
 - •1. Восстановление памяти. Указатели. Эффективное средство работы с динамической информации. Создание неизменяемого экземпляра объекта.
 - •Билет 25
 - •1. Наследование и принцип подстановки. Отношения: быть экземпляром и включать как часть.
 - •Билет 26
 - •3. Издержки наследования.
 - •Билет 27
 - •1. Противопоставление композиции и наследование. Преимущества и недостатки двух подходов.
 - •Билет 28
 - •Билет 29
 - •Билет 30
 - •3. Интерфейс и реализация.
 
3. Формы наследования. Порождение подкласса для комбинирования.
Формы наследования
В подклассе структура и поведение исходного суперкласса могут дополняться, переопределяться или ограничиваться
Исходя из этого, можно выделить различные формы наследования:
Специализация
Спецификация
Обобщение
Расширение
Ограничение
Конструирование
Варьирование
Комбинирование
Порождение подкласса для комбинирования
Эта форма наследования имеет отношение ко множественному наследованию, когда производный класс желает иметь черты нескольких базовых классов. Например, помощник учителя несет в себе черты учителя и ученика одновременно.
Билет 17
1. Важнейший аспект объектно-ориентированного проектирования (ООПр). Ответственность и невмешательство (независимость). Отличие традиционного проектирования и ООПр.
2. Разновидности полиморфизма(отношение «быть экземпляром»; механизм пересылки сообщений; наследования; принцип подстановки).
3. Перечень форм наследования.
Наследование − это такое отношение между классами, когда один класс повторяет структуру и поведение другого класса (одиночное наследование) или других (множественное наследование) классов
Формы наследования
В подклассе структура и поведение исходного суперкласса могут дополняться, переопределяться или ограничиваться
Исходя из этого, можно выделить различные формы наследования:
Специализация
Спецификация
Обобщение
Расширение
Ограничение
Конструирование
Варьирование
Комбинирование
Билет 18
1. Проектирование в малом и проектирование в большом. Начало проектирования в ООП.
Объе́ктно-ориенти́рованное проектирование (ООП) — это часть объектно-ориентированной методологии, которая предоставляет возможность программистам оперировать понятием «объект», нежели понятием «процедура» при разработке своего кода.
2. Множественное наследование в С++. Проблема неоднозначности (двусмысленность имён).
Мно́жественное насле́дование — свойство, поддерживаемое частью объектно-ориентированных языков программирования, когда класс может иметь более одногосуперкласса (непосредственного класса-родителя). Эта концепция является расширением «простого (или одиночного) наследования» (англ. single inheritance), при котором класс может наследоваться только от одного суперкласса.
3. Преимущества правильного использования механизма наследования.
Билет 19
1. Проектирование на основе обязанностей. Поведение и состояние компоненты. Работа по сценарию. Идентификация компонент.
Компонент — в программировании, множество языковых конструкций (например, классов в ООП языках), объединенных по общему признаку. В большинстве языков программирования нет языковых конструкций прямо отражающих понятие компонента. Компоненты реализуются с помощью стандартных конструкций, таких как классы.
Компонентный подход программирования широко поддерживается фреймворками (программными каркасами).
Для компонентов реализован шаблон проектирования mixin, что позволяет присоединить к ним одно или несколько поведений. Поведение — объект, чьи методы «наследуются» компонентом, к которому он присоединён. Под «наследованием» здесь понимается наращивание функционала, а не наследование в классическом смысле. К компоненту можно прикрепить несколько поведений и, таким образом, получить аналог множественного наследования.
2. Добавление, замещение и уточнение. Американская и скандинавская семантики.
Первый тип переопределения часто называют американской семантикой, поскольку он обычно ассоциируется с языками программирования американского происхождения (Smalltatk или C++). Второй известен как скандинавская семантика, так как он чаще всего ассоциируется с языком Simula [Dahl 1966, Birtwistle 1979, Kirkerud 1989], первым объектно-ориентированным языком программирования, и с более поздним языком Beta [Madsen 1993]. Оба языка имеют скандинавское происхождение.
3. Повторное использование программ.
