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

Ответы на контрольные вопросы по лекции 12

.docx
Скачиваний:
5
Добавлен:
20.06.2023
Размер:
15.87 Кб
Скачать

Ответы на контрольные вопросы по лекции 12

Дисциплина: объектно-ориентированное программирование

Студент: Заболотников М.Е.

Группа: 9373

  1. Может ли производный класс, не имеющий параметров, наследоваться от параметризованного базового класса?

Нет, не может.

  1. Может ли параметризованный производный класс от не параметризованного базового класса?

Может.

  1. Может ли параметризованный производный класс от параметризованного базового класса?

Может.

  1. Если и базовый, и производный класс имеют свои множества параметров, то могут ли эти множества совпадать, пересекаться или быть различными?

Если атрибуты описывают существенные свойства объектов классов и их отношения в окружении других объектов, то методы описывают поведение объектов, то есть изменение в динамике их свойств (состояний) и места в окружении. В общем случае, объекты разных классов имеют различное поведение.

  1. Если базовый или производный классы имеют параметры, то может ли производный класс быть не параметризованным?

Нет, не может.

  1. Может ли при наследовании сам базовый класс быть параметром и почему?

Может. Для этого используется ключевое слово base.

  1. Является ли по вашему мнению наличие базового класса в качестве параметра существенным достоинством параметризации и почему?

Является. Если базовый класс имеет конструктор без параметров, то он будет вызван неявно из конструктора производного класса. Т.е. писать что-то вроде Derived() : Base() { } не требуется.

Если же из конструктора производного класса (не важно, с параметрами или без) нужно вызывать конструктор базового класса, принимающий параметры, то требуется явно указать какие это будут параметры, т.е. перекидывания аргумента из конструктора производного класса в конструктор базового класса в виде один-к-одному по умолчанию нет, нужно написать это руками.