Проверяет знание механизмов контроля доступа к свойствам и методам, что важно для архитектуры и инкапсуляции.
В Swift есть пять уровней доступа: open, public, internal, fileprivate и private. Они определяют, где можно использовать переменные, функции и классы.
open — доступен в любом модуле и может быть переопределён.
public — доступен в любом модуле, но без переопределения.
internal (по умолчанию) — доступен только в пределах модуля.
fileprivate — доступен только в пределах файла.
private — доступен только внутри определения класса или структуры.
Пример:
class Car {
private var engineStarted = false
func startEngine() {
engineStarted = true
}
}Когда использовать:
private — скрыть детали реализации.
internal — по умолчанию.
public/open — для библиотек и API.