Como en todos los lenguajes de desarrollo que permiten el desarrollo orientado a objetos Swift tiene un sistema de control de acceso a las clases, métodos y propiedades que permite esconder o hacer público las clases o sus miembros. Se utiliza en torno al concepto de módulos y los ficheros con código fuente.
El control de acceso en Swift 4 se aplica a los siguientes tipos:
- classes
- structures
- enumerations
Los niveles de acceso que podemos determinar son los siguientes:
- Open: Permite el acceso en el fichero que se importe la clase, aunque sea en una subclase de otro módulo.
- Public: Permite el acceso en el fichero que se importe la clase, pero no admite subclases fuera de otro módulo.
- Internal: Permite sólo el acceso dentro de su mismo módulo.
- File-private: Permite sólo el acceso dentro del mismo fichero de código fuente.
- Private: Sólo permite el acceso dentro de la misma declaración.
Open es el acceso más abierto y privado el acceso más cerrado.
El nivel de acceso por defecto es Internal.
Os pongo los ejemplos oficiales de Apple:
- public class SomePublicClass {}
- internal class SomeInternalClass {}
- fileprivate class SomeFilePrivateClass {}
- private class SomePrivateClass {}
- public var somePublicVariable = 0
- internal let someInternalConstant = 0
- fileprivate func someFilePrivateFunction() {}
- private func somePrivateFunction() {}
Espero que os sea de utilidad.
Comentarios