NEW
Font size
WorksheetsООП в Swift
Total questions: 20
Worksheet time: 10mins
Какие основные принципы ООП?
Переменные, Константы, Функции, Циклы
Инкапсуляция, Полиморфизм, Абстракция, Наследование
Декомпозиция, Оптимизация, Композиция, Компиляция
Массивы, Списки, Интерфейсы, Модули
Что такое инкапсуляция?
Разбиение программы на модули
Способность объектов наследовать свойства и методы других объектов
Возможность одного объекта принимать несколько форм
Скрытие деталей реализации и управление доступом к данным
Какой модификатор доступа позволяет переопределять методы и свойства в подклассах за пределами модуля?
private
public
open
internal
Какой метод используется для освобождения ресурсов перед уничтожением экземпляра класса?
release()
deinit
destroy()
finalize()
Какой модификатор доступа позволяет использовать свойства и методы только внутри текущего модуля?
private
fileprivate
internal
open
Какой принцип ООП позволяет классу наследовать свойства и методы другого класса?
Полиморфизм
Инкапсуляция
Наследование
Абстракция
Что такое полиморфизм?
Способность объектов скрывать свои данные
Способность объекта иметь несколько реализаций одного метода
Способность объектов наследовать свойства друг друга
Использование интерфейсов вместо классов
Какой принцип ООП позволяет работать с объектами через их общий интерфейс, не зная конкретный тип?
Наследование
Полиморфизм
Инкапсуляция
Композиция
В чем отличие композиции от наследования?
Композиция использует наследование от родительского класса
Композиция использует только публичные методы
Наследование не поддерживает переопределение методов
Композиция позволяет одному классу использовать другой класс в качестве свойства
Что происходит, если класс-наследник не переопределяет метод родительского класса?
Метод будет недоступен
Компилятор выдаст ошибку
Метод будет удален
Будет вызван метод родительского класса
Что такое интерфейс в ООП?
Способ объединения классов в один
Графический интерфейс пользователя
Набор методов, которые класс обязан реализовать
Функция для работы с базами данных
Какой принцип ООП позволяет описать класс без указания конкретной реализации методов?
Наследование
Полиморфизм
Абстракция
Композиция
Какая концепция ООП используется, если класс делегирует часть своей логики другому объекту, вместо наследования?
Полиморфизм
Абстракция
Композиция
Наследование
Что произойдёт, если у наследника будет метод с тем же именем, что и у родительского класса, но с другой сигнатурой?
Метод наследника просто скрывает метод родителя
Произойдёт ошибка компиляции
Родительский метод будет переопределён
Будет вызван метод родительского класса
Какая основная проблема наследования, связанная с изменением поведения родительского класса?
Нарушение инкапсуляции
Жёсткая связанность между классами
Дублирование кода
Ошибки времени компиляции
В чем разница между convenience init и designated init?
convenience должен вызывать designated init
designated должен вызывать convenience init
Оба могут быть использованы независимо
convenience init используется только в struct
Как можно сделать init необязательным для вызова при создании объекта?
Использовать lazy var
Использовать init?
Использовать static func
Использовать convenience init
Можно ли объявить init как final?
Да
Нет
Только если это convenience init
Только в protocol
Какой результат работы failable init (init?) в struct?
init? работает только в классах
Значение структуры всегда будет создано
Компилятор выдаст ошибку
Может вернуть nil, если инициализация не удалась
Какой механизм предотвращает циклы ссылок при использовании init?
convenience init()
required init()
super.init()
weak и unowned
