Добавил:
https://vk.com/club199197084 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Вопросы к лекциям / ООП_ВопрКЛек13_0361_ЦукановаПА

.pdf
Скачиваний:
2
Добавлен:
03.02.2024
Размер:
200.06 Кб
Скачать

Контрольные вопросы к лекции №13

1. В чем заключается отличие раннего (статического) и позднего (динамического) связывания?

Раннее (статическое) связывание выполняется во время компиляции и связывает вызов метода с его реализацией по имени и сигнатуре. Позднее (динамическое) связывание выполняется во время выполнения программы и связывает вызов метода с его реализацией с учетом информации о типе объекта, для которого он вызывается.

2.В каком случае обращаются к механизму виртуальных

методов?

Кмеханизму виртуальных методов обращаются при использовании полиморфизма, когда методы класса могут быть переопределены в производных классах и вызваны для объектов этих производных классов.

3.В чем отличие обычных и виртуальных методов?

Обычные методы реализуют поведение, специфичное для типа объекта,

для которого они вызываются, а виртуальные методы могут быть переопределены в производных классах, чтобы реализовать другое поведение.

4. Как распространяется механизм виртуальности методов по дереву наследования? Где начало и конец виртуальности?

Механизм виртуальности методов распространяется по всему дереву наследования классов. Виртуальность начинается с базового класса, который содержит виртуальный метод, и распространяется на производные классы, где этот метод может быть переопределен.

5.Что такое чистый метод?

Чистый метод - это виртуальный метод, для которого не предоставлена реализация в базовом классе. Цель чистых методов заключается в том, чтобы определить интерфейс класса и требовать, чтобы производные классы реализовали этот интерфейс.

6.Какой класс является абстрактным?

Абстрактный класс является абстрактным, т.е. содержит хотя бы один чистый метод, который должен быть реализован в производных классах.

7. Как распространяется абстрактность классов по дереву наследования?

Абстрактность классов распространяется по всему дереву наследования, т.е. производные классы также должны быть абстрактными, если они содержат чистый метод, который не реализован в базовом классе.

8. Могут ли у абстрактного класса быть атрибуты и в чем их смысл, если они могут задаваться?

У абстрактного класса могут быть атрибуты, т.к. это класс, а абстрактность относится только к методам. Атрибуты могут использоваться для хранения данных и состояний объектов.