wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Квиз по наследованию в C#

Total questions: 15

Worksheet time: 8mins

Name
Class
Date
1.

Что такое наследование в ООП?

a)

Механизм, позволяющий одному классу содержать экземпляр другого класса

b)

Механизм, позволяющий создать новый класс на основе существующего

c)

Механизм, позволяющий классу иметь несколько методов с одним именем

d)

Механизм, скрывающий внутренние детали реализации класса

2.

Какой синтаксис используется для наследования в C#?

a)

class DerivedClass implements BaseClass

b)

class DerivedClass : BaseClass

c)

class DerivedClass extends BaseClass

d)

class DerivedClass from BaseClass

3.

Что наследует производный класс от базового?

a)

Только public методы

b)

Только public и protected методы

c)

Все public, protected и private члены

d)

Только protected и private члены

4.

Что означает модификатор protected?

a)

Доступен только внутри класса

b)

Доступен везде, в том числе из других сборок

c)

Доступен внутри класса и производных классов

d)

Доступен только внутри той же сборки

5.

Наследуются ли конструкторы?

a)

Да, автоматически наследуются все конструкторы

b)

Да, но только конструкторы по умолчанию

c)

Нет, конструкторы не наследуются

d)

Да, но только конструкторы с модификатором public

6.

Для чего используется ключевое слово base?

a)

Для вызова конструктора производного класса

b)

Для вызова конструктора или методов базового класса

c)

Для создания экземпляра базового класса

d)

Для указания на корневой класс в иерархии

7.

В чем разница между virtual и abstract методом?

a)

virtual метод должен иметь реализацию, abstract - нет

b)

abstract метод должен иметь реализацию, virtual - нет

c)

Оба должны иметь реализацию, но abstract можно переопределять

d)

virtual метод обязателен для переопределения, abstract - нет

8.

Можно ли создать экземпляр абстрактного класса?

a)

Да, с помощью ключевого слова new

b)

Да, но только через наследование

c)

Нет, нельзя создать экземпляр абстрактного класса

d)

Да, но только если в нем нет абстрактных методов

9.

Что такое цепочка наследования?

a)

Когда класс наследует от нескольких базовых классов

b)

Когда класс имеет длинный список методов

c)

Когда класс наследует от класса, который сам является производным

d)

Когда класс содержит ссылки на другие классы

10.

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

a)

Да, если производный класс не абстрактный

b)

Нет, может реализовать только некоторые

c)

Да, даже если производный класс абстрактный

d)

Нет, абстрактные методы необязательно реализовывать

11.

Какой модификатор доступа позволяет члену класса быть доступным только внутри класса и его производных классов?

a)

private

b)

public

c)

internal

d)

protected

12.

Что произойдет, если производный класс не вызовет конструктор базового класса?

a)

Ничего, компилятор добавит вызов автоматически

b)

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

c)

Базовый класс не будет инициализирован

d)

Программа выполнится, но с ошибкой времени выполнения

13.

Как объявить метод, который должен быть переопределен в производном классе?

a)

Использовать ключевое слово virtual

b)

Использовать ключевое слово override

c)

Использовать ключевое слово abstract

d)

Использовать ключевое слово new

14.

Что произойдет при попытке компиляции этого кода?

a)

Код скомпилируется успешно

b)

Ошибка компиляции: Circle не реализует унаследованный абстрактный член

c)

Предупреждение, но код выполнится

d)

Ошибка времени выполнения

15.

Как правильно переопределить метод ToString()?

a)

virtual

b)

override

c)

new

d)

abstract