NEW
Font size
WorksheetsКвиз по наследованию в C#
Total questions: 15
Worksheet time: 8mins
Что такое наследование в ООП?
Механизм, позволяющий одному классу содержать экземпляр другого класса
Механизм, позволяющий создать новый класс на основе существующего
Механизм, позволяющий классу иметь несколько методов с одним именем
Механизм, скрывающий внутренние детали реализации класса
Какой синтаксис используется для наследования в C#?
class DerivedClass implements BaseClass
class DerivedClass : BaseClass
class DerivedClass extends BaseClass
class DerivedClass from BaseClass
Что наследует производный класс от базового?
Только public методы
Только public и protected методы
Все public, protected и private члены
Только protected и private члены
Что означает модификатор protected?
Доступен только внутри класса
Доступен везде, в том числе из других сборок
Доступен внутри класса и производных классов
Доступен только внутри той же сборки
Наследуются ли конструкторы?
Да, автоматически наследуются все конструкторы
Да, но только конструкторы по умолчанию
Нет, конструкторы не наследуются
Да, но только конструкторы с модификатором public
Для чего используется ключевое слово base?
Для вызова конструктора производного класса
Для вызова конструктора или методов базового класса
Для создания экземпляра базового класса
Для указания на корневой класс в иерархии
В чем разница между virtual и abstract методом?
virtual метод должен иметь реализацию, abstract - нет
abstract метод должен иметь реализацию, virtual - нет
Оба должны иметь реализацию, но abstract можно переопределять
virtual метод обязателен для переопределения, abstract - нет
Можно ли создать экземпляр абстрактного класса?
Да, с помощью ключевого слова new
Да, но только через наследование
Нет, нельзя создать экземпляр абстрактного класса
Да, но только если в нем нет абстрактных методов
Что такое цепочка наследования?
Когда класс наследует от нескольких базовых классов
Когда класс имеет длинный список методов
Когда класс наследует от класса, который сам является производным
Когда класс содержит ссылки на другие классы
Должен ли производный класс реализовывать все абстрактные методы базового класса?
Да, если производный класс не абстрактный
Нет, может реализовать только некоторые
Да, даже если производный класс абстрактный
Нет, абстрактные методы необязательно реализовывать
Какой модификатор доступа позволяет члену класса быть доступным только внутри класса и его производных классов?
private
public
internal
protected
Что произойдет, если производный класс не вызовет конструктор базового класса?
Ничего, компилятор добавит вызов автоматически
Ошибка компиляции, если в базовом классе нет конструктора по умолчанию
Базовый класс не будет инициализирован
Программа выполнится, но с ошибкой времени выполнения
Как объявить метод, который должен быть переопределен в производном классе?
Использовать ключевое слово virtual
Использовать ключевое слово override
Использовать ключевое слово abstract
Использовать ключевое слово new
Что произойдет при попытке компиляции этого кода?
Код скомпилируется успешно
Ошибка компиляции: Circle не реализует унаследованный абстрактный член
Предупреждение, но код выполнится
Ошибка времени выполнения
Как правильно переопределить метод ToString()?
virtual
override
new
abstract
