В Swift контроль доступа используется для ограничения видимости объектов кода, таких как классы, структуры, свойства, методы и т. д. Одним из аспектов контроля доступа является ограничение доступа в пределах одного модуля. В этой статье мы рассмотрим различные методы управления доступом внутри одного модуля на примерах кода.
Методы контроля доступа в одном модуле:
-
Публичный доступ:
Публичный доступ позволяет получать доступ к объектам из любого места, как внутри модуля, так и из других модулей. По умолчанию все сущности являются общедоступными, если не указано иное. Вот пример:public class MyClass { public var myProperty: Int = 10 public func myMethod() { // Code goes here } } -
Внутренний доступ.
Внутренний доступ ограничивает доступ к объектам только внутри модуля, в котором они определены. Внешние модули не могут получить доступ к этим объектам. Вот пример:internal struct MyStruct { internal var myProperty: String = "Hello, World!" internal func myMethod() { // Code goes here } } -
Приватный доступ к файлу:
Приватный доступ к файлам ограничивает доступ к объектам только в том же исходном файле, где они определены. Другие файлы в том же модуле не могут получить доступ к этим объектам. Вот пример:fileprivate class MyFileClass { fileprivate var myProperty: Double = 3.14 fileprivate func myMethod() { // Code goes here } } -
Частный доступ.
Частный доступ является наиболее ограничительным уровнем доступа и ограничивает доступ к объектам только внутри прилагающего объявления. Другие объекты в том же файле или модуле не могут получить доступ к этим объектам. Вот пример:private enum MyEnum { private var myProperty: Bool = true private func myMethod() { // Code goes here } }
В Swift контроль доступа внутри одного модуля играет решающую роль в инкапсуляции и организации кода. Понимая различные уровни доступа (общедоступный, внутренний, частный и частный), разработчики могут эффективно контролировать видимость и доступность объектов своего кода.