wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

ООП в Swift

Total questions: 20

Worksheet time: 10mins

Name
Class
Date
1.

Какие основные принципы ООП?

a)

Переменные, Константы, Функции, Циклы

b)

Инкапсуляция, Полиморфизм, Абстракция, Наследование

c)

Декомпозиция, Оптимизация, Композиция, Компиляция

d)

Массивы, Списки, Интерфейсы, Модули

2.

Что такое инкапсуляция?

a)

Разбиение программы на модули

b)

Способность объектов наследовать свойства и методы других объектов

c)

Возможность одного объекта принимать несколько форм

d)

Скрытие деталей реализации и управление доступом к данным

3.

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

a)

private

b)

public

c)

open

d)

internal

4.

Какой метод используется для освобождения ресурсов перед уничтожением экземпляра класса?

a)

release()

b)

deinit

c)

destroy()

d)

finalize()

5.

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

a)

private

b)

fileprivate

c)

internal

d)

open

6.

Какой принцип ООП позволяет классу наследовать свойства и методы другого класса?

a)

Полиморфизм

b)

Инкапсуляция

c)

Наследование

d)

Абстракция

7.

Что такое полиморфизм?

a)

Способность объектов скрывать свои данные

b)

Способность объекта иметь несколько реализаций одного метода

c)

Способность объектов наследовать свойства друг друга

d)

Использование интерфейсов вместо классов

8.

Какой принцип ООП позволяет работать с объектами через их общий интерфейс, не зная конкретный тип?

a)

Наследование

b)

Полиморфизм

c)

Инкапсуляция

d)

Композиция

9.

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

a)

Композиция использует наследование от родительского класса

b)

Композиция использует только публичные методы

c)

Наследование не поддерживает переопределение методов

d)

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

10.

Что происходит, если класс-наследник не переопределяет метод родительского класса?

a)

Метод будет недоступен

b)

Компилятор выдаст ошибку

c)

Метод будет удален

d)

Будет вызван метод родительского класса

11.

Что такое интерфейс в ООП?

a)

Способ объединения классов в один

b)

Графический интерфейс пользователя

c)

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

d)

Функция для работы с базами данных

12.

Какой принцип ООП позволяет описать класс без указания конкретной реализации методов?

a)

Наследование

b)

Полиморфизм

c)

Абстракция

d)

Композиция

13.

Какая концепция ООП используется, если класс делегирует часть своей логики другому объекту, вместо наследования?

a)

Полиморфизм

b)

Абстракция

c)

Композиция

d)

Наследование

14.

Что произойдёт, если у наследника будет метод с тем же именем, что и у родительского класса, но с другой сигнатурой?

a)

Метод наследника просто скрывает метод родителя

b)

Произойдёт ошибка компиляции

c)

Родительский метод будет переопределён

d)

Будет вызван метод родительского класса

15.

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

a)

Нарушение инкапсуляции

b)

Жёсткая связанность между классами

c)

Дублирование кода

d)

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

16.

В чем разница между convenience init и designated init?

a)

convenience должен вызывать designated init

b)

designated должен вызывать convenience init

c)

Оба могут быть использованы независимо

d)

convenience init используется только в struct

17.

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

a)

Использовать lazy var

b)

Использовать init?

c)

Использовать static func

d)

Использовать convenience init

18.

Можно ли объявить init как final?

a)

Да

b)

Нет

c)

Только если это convenience init

d)

Только в protocol

19.

Какой результат работы failable init (init?) в struct?

a)

init? работает только в классах

b)

Значение структуры всегда будет создано

c)

Компилятор выдаст ошибку

d)

Может вернуть nil, если инициализация не удалась

20.

Какой механизм предотвращает циклы ссылок при использовании init?

a)

convenience init()

b)

required init()

c)

super.init()

d)

weak и unowned